(57)【要約】【課題】ロボットが誤作動することを抑制することができるロボットシステムを提供すること。【解決手段】駆動部の回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車を有するロボット、を備えたロボットシステムであって、前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、及び前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、第１処理として、前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、前記第１回転数と前記第２回転数とが一致していない場合に、前記駆動部を停止させる、ロボットシステム。【選択図】図４
2020069590.tif 000002
【特許請求の範囲】
【請求項１】
駆動部の回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車を有するロボット、
を備えたロボットシステムであって、
前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、及び前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、
第１処理として、
前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、
前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、
前記第１回転数と前記第２回転数とが一致していない場合に、前記駆動部を停止させる、
ロボットシステム。
【請求項２】
前記第１処理は、
前記第３副軸歯車の位相と前記第１副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第３回転数を導出し、
前記第１回転数、前記第２回転数、及び前記第３回転数が一致していない場合に、前記駆動部を停止させる、
請求項１に記載のロボットシステム。
【請求項３】
前記第１処理は更に、
前記第１回転数、前記第２回転数、及び前記第３回転数が一致していない場合、前記第１回転数、前記第２回転数、及び前記第３回転数が一致していないことを示す情報を報知する、
請求項２に記載のロボットシステム。
【請求項４】
前記ロボットに電源が投入されてから前記ロボットが動き出すまでの間において、前記第１処理を行う、
請求項１から３のうちいずれか一項に記載のロボットシステム。
【請求項５】
前記主軸歯車の位相を第１主軸位相として出力する主軸位相出力部と、
前記第１副軸歯車の位相を出力する第１位相出力部と、
を備え、
第２処理として、
前記主軸位相出力部が出力した前記第１主軸位相に基づいて、前記第１副軸歯車の位相の変化量を第１１変化量として導出し、
前記第１位相出力部が出力した前記第１副軸歯車の位相の変化量を第１２変化量として導出し、
前記第１１変化量と前記第１２変化量とが互いに一致していない場合、前記駆動部を停止させ、
１回目の前記第１処理が行われた後に、前記第２処理を行う、
請求項１から４のうちいずれか一項に記載のロボットシステム。
【請求項６】
前記第２副軸歯車の位相を出力する第２位相出力部と、
前記第３副軸歯車の位相を出力する第３位相出力部と、
を備え、
前記第２処理は更に、
前記主軸位相出力部が出力した前記第１主軸位相に基づいて、前記第２副軸歯車の位相の変化量を第２１変化量として導出し、
前記主軸位相出力部が出力した前記第１主軸位相に基づいて、前記第３副軸歯車の位相の変化量を第３１変化量として導出し、
前記第２位相出力部が出力した前記第２副軸歯車の位相の変化量を第２２変化量として導出し、
前記第３位相出力部が出力した前記第３副軸歯車の位相の変化量を第３２変化量として導出し、
前記第２１変化量と前記第２２変化量とが一致していない場合、前記駆動部を停止させ、
前記第３１変化量と前記第３２変化量とが一致していない場合、前記駆動部を停止させる、
請求項５に記載のロボットシステム。
【請求項７】
前記主軸位相出力部は、数理モデルに基づいて、前記第１主軸位相を出力する、
請求項５又は６に記載のロボットシステム。
【請求項８】
１回目の前記第１処理が行われた後において、所定の条件が満たされるか判定し、所定の条件が満たされた場合に前記第１処理を行う、
請求項１から７のうちいずれか一項に記載のロボットシステム。
【請求項９】
前記条件は、所定時間が経過することである、
請求項８に記載のロボットシステム。
【請求項１０】
前記ロボットは、第４副軸歯車を更に備える、
請求項１から９のうちいずれか一項に記載のロボットシステム。
【請求項１１】
前記ロボットは、前記ロボットへの電力供給を遮断する電力遮断部を備え、
前記駆動部を停止させる場合、前記電力遮断部に前記ロボットへの電力供給を遮断させる、
請求項１から１０のうちいずれか一項に記載のロボットシステム。
【請求項１２】
駆動部の回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車を有するロボットであって、
前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、及び前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、
第１処理として、
前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、
前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、
前記第１回転数と前記第２回転数とが一致していない場合に、前記駆動部を停止させる、
ロボット。
【請求項１３】
駆動部の回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車を有するロボットを制御するロボット制御装置であって、
前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、および前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、
第１処理として、
前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、
前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、
前記第１回転数と前記第２回転数とが一致していない場合に、前記駆動部を停止させる、
ロボット制御装置。
【請求項１４】
駆動部の回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車を有するロボットを制御するロボット制御方法であって、
前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、および前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、
第１処理として、
前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、
前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、
前記第１回転数と前記第２回転数とが一致していない場合に、前記駆動部を停止させる、
ロボット制御方法。
【請求項１５】
駆動部の回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車を有するエンコーダーであって、
前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、および前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、
第１処理として、
前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、
前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、
前記第１回転数と前記第２回転数とが一致していない場合に、前記駆動部を停止させる、
エンコーダー。
【請求項１６】
モーター、前記モーターの回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車と、を有するロボットと、
プロセッサーと、
を備え、
前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、及び前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、
前記プロセッサーは、第１処理を行う指令を実行するように構成されており、
前記第１処理は、
前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、
前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、
前記第１回転数と前記第２回転数とが一致していない場合に、前記モーターを停止させる、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、及びエンコーダーに関する。
【背景技術】
【０００２】
エンコーダーについての研究、開発が行われている。
【０００３】
これに関し、主軸歯車と、２つの副軸歯車とを備え、主軸歯車の位相と、２つの副軸歯車それぞれの位相とを検出し、検出した主軸歯車の位相と、検出した２つの副軸歯車それぞれの位相との組み合わせに基づいて、主軸歯車の回転数を導出し、導出した当該回転数と、検出した主軸歯車の位相とに基づいて、主軸歯車の多回転量を導出するエンコーダーが知られている。当該エンコーダーについては、以下に示した特許文献１に詳しく記載されている。ここで、本明細書では、ある歯車が回転した場合の当該歯車の位相は、当該歯車の回転角を３６０度で除した場合の剰余のことを意味する。また、本明細書では、当該歯車が回転した場合の当該歯車の回転数は、当該歯車の回転角を３６０度で除した場合の商のことを意味する。また、本明細書では、当該歯車の多回転量は、当該歯車の回転角のことを意味する。すなわち、本明細書では、主軸歯車の多回転量は、主軸歯車の位相と、主軸歯車の回転数との和のことである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１１５２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このような従来のエンコーダーでは、エンコーダーに異常が発生した場合、主軸の回転数を、実際の回転数と異なる回転数に誤って導出してしまうことがあった。主軸の回転数を実際の回転数と異なる回転数に誤って導出した場合、当該エンコーダーは、主軸の多回転量を、実際の多回転量と異なる多回転量に誤って導出してしまう場合があった。しかしながら、当該エンコーダーでは、主軸の回転数について、実際の回転数と異なる回転数が導出されているか否かを判定できなかった。
【課題を解決するための手段】
【０００６】
上記課題を解決するために本発明の一態様は、駆動部の回動軸に取り付けられる主軸歯車、前記主軸歯車と噛み合う第１副軸歯車、前記主軸歯車と噛み合う第２副軸歯車、及び前記主軸歯車と噛み合う第３副軸歯車を有するロボット、を備えたロボットシステムであって、前記主軸歯車の歯数、前記第１副軸歯車の歯数、前記第２副軸歯車の歯数、及び前記第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、第１処理として、前記第１副軸歯車の位相と前記第２副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第１回転数を導出し、前記第２副軸歯車の位相と前記第３副軸歯車の位相とに基づいて、前記主軸歯車の回転数である第２回転数を導出し、前記第１回転数と前記第２回転数とが一致していない場合に、前記駆動部を停止させる、ロボットシステムである。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】エンコーダーＥＣが備える複数の歯車の構成例を示す図である。
【図３】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図４】ロボット制御装置３０の機能構成の一例を示す図である。
【図５】ロボット制御装置３０が行う処理のうちの第１処理と第３処理との両方を含む処理の流れの一例を示す図である。
【図６】図５に示したステップＳ１２０の処理の流れの一例を示す図である。
【図７】第１対応情報の一例を示す図である。
【図８】図５に示したステップＳ１３０の処理の流れの一例を示す図である。
【図９】第４対応情報の一例を示す図である。
【図１０】第２主軸位相を導出する流れの一例を示す図である。
【図１１】図５に示したステップＳ１７０の処理の流れの一例を示す図である。
【図１２】主軸歯車Ｇ０と第１副軸歯車Ｇ１とΔθ１とΔθ２の関係の一例を示す図である。
【図１３】制御部４１の機能構成の一例を示す図である。
【図１４】ロボット２０に代えてロボット２１を備えるロボットシステム１の構成の一例を示す図である。
【発明を実施するための形態】
【０００８】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【０００９】
＜ロボットシステムの概要＞
まず、実施形態に係るロボットシステムの概要について説明する。
【００１０】
ロボットシステムは、エンコーダーと、エンコーダーを備えるロボットと、制御部を備える。エンコーダーは、駆動部の回動軸に取り付けられる主軸歯車と、主軸歯車と噛み合う第２副軸歯車、主軸歯車と噛み合う第３副軸歯車とを有する。
【００１１】
より具体的には、制御部は、第１処理を行う。第１処理は、第１１処理と、第１２処理と、第１３処理と、第１４処理を含む処理である。第１１処理は、第１副軸歯車と第２副軸歯車とに基づく第１回転数を導出する処理のことである。第１２処理は、第２副軸歯車と第３副軸歯車とに基づく第２回転数を導出する処理のことである。第１３処理は、第３副軸歯車と第１副軸歯車とに基づく第３回転数を導出する処理のことである。第１４処理は、第１回転数と、第２回転数と、第３回転数とのうちの２つ以上の回転数が互いに一致していない場合、駆動部を停止させる処理のことである。
【００１２】
ここで、第１回転数と、第２回転数と、第３回転数とのうちの２つ以上の回転数が互いに一致していない場合、エンコーダーにおいて副軸歯車に関する異常が発生している可能性が高い。より具体的には、当該場合、エンコーダーにおいて第１副軸歯車〜第３副軸歯車のうちの一部又は全部に関する異常が発生している可能性が高い。エンコーダーにおいて副軸歯車に関する異常が発生している場合、エンコーダーから出力された情報に基づいて導出される主軸歯車の多回転量は、実際の多回転量と異なる値になることがある。これは、当該情報に基づいて導出される主軸歯車の多回転量が、主軸歯車の位相と主軸歯車の回転数とを足し合わせた値であり、且つ、主軸歯車の回転数が、第１副軸歯車〜第３副軸歯車それぞれの位相に基づいて導出されるためである。当該情報に基づいて導出される主軸歯車の多回転量が実際の多回転量と異なる値になる場合、ロボットが誤作動してしまうことがある。
【００１３】
すなわち、ロボットシステムは、制御部が行う第１処理によって、導出した主軸歯車の多回転量が実際の多回転量と異なる値になっているか否かを判定する。そして、ロボットシステムは、導出した主軸歯車の多回転量が実際の多回転量と異なる値になっている場合、すなわち、第１回転数と、第２回転数と、第３回転数とのうちの２つ以上の回転数が互いに一致していない場合、駆動部を停止させる。その結果、ロボットシステムは、ロボットが誤作動してしまうことを抑制することができる。
【００１４】
また、ロボットシステムは、主軸位相出力部を備えてもよい。主軸位相出力部は、主軸歯車の位相を第１主軸位相として出力する。この場合、制御部は、第３処理を行う。第３処理は、第３１処理と、第３２処理を含む処理である。第３１処理は、第１副軸歯車の位相と、第２副軸歯車の位相と、第３副軸歯車の位相とに基づいて、主軸歯車の位相を第２主軸位相として導出する処理のことである。第３２処理は、第１主軸位相と、第２主軸位相とが互いに一致していない場合、駆動部を停止させる処理のことである。
【００１５】
ここで、第１主軸位相と、第２主軸位相とが互いに一致していない場合、エンコーダーにおいて主軸歯車又は副軸歯車に関する異常が発生している可能性が高い。エンコーダーにおいて主軸歯車又は副軸歯車に異常が発生している場合、エンコーダーから出力された情報に基づいて導出される主軸歯車の多回転量は、実際の多回転量と異なる値になることがある。これは、当該情報に基づいて導出される主軸歯車の多回転量が、主軸歯車の位相と主軸歯車の回転数とを足し合わせた値であり、且つ、主軸歯車の回転数が、第１副軸歯車〜第３副軸歯車それぞれの位相に基づいて導出されるためである。当該情報に基づいて導出される主軸歯車の多回転量が実際の多回転量と異なる値になる場合、ロボットが誤作動することがある。
【００１６】
すなわち、ロボットシステムは、制御部が行う第３処理によって、導出した主軸歯車の多回転量が実際の多回転量と異なる値になっているか否かを判定する。そして、ロボットシステムは、導出した主軸歯車の多回転量が実際の多回転量と異なる値になっている場合、すなわち、第１主軸位相と、第２主軸位相とが互いに一致していない場合、駆動部を停止させる。その結果、ロボットシステムは、ロボットが誤作動することを抑制することができる。
【００１７】
更に、ロボットシステムは、制御部が第１処理と第３処理との両方を行う場合、ロボットシステムは、エンコーダーにおいて主軸歯車と副軸歯車とのいずれに異常が発生しているかを判定することができる。
【００１８】
以下では、このようなロボットシステムの構成と、ロボットシステムにおいて制御部が行う処理のうち第１処理と第３処理とを含む処理について詳しく説明する。なお、制御部は、ロボットに備えられる構成であってもよく、ロボットを制御するロボット制御装置に備えられる構成であってもよく、ロボットと当該ロボット制御装置との間を中継する情報処理装置に備えられる構成であってもよく、エンコーダーに備えられる構成であってもよい。以下では、一例として、制御部が当該ロボット制御装置に備えられる場合について説明する。
【００１９】
＜ロボットシステムの構成＞
まず、図１を参照し、実施形態に係るロボットシステム１の構成について説明する。
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。なお、ロボットシステム１は、前述のロボットシステムの一例である。
【００２０】
ロボットシステム１は、ロボット２０と、ロボット制御装置３０と、情報処理装置４０を備える。なお、ロボットシステム１において、ロボット２０と、ロボット制御装置３０と、情報処理装置４０との一部又は全部は、互いに別体に構成されてもよく、一体に構成されてもよい。図１に示した例では、ロボット２０と、ロボット制御装置３０と、情報処理装置４０との全部は、互いに別体に構成されている。また、ロボットシステム１は、情報処理装置４０を備えない構成であってもよい。
【００２１】
ロボット２０は、スカラロボットである。スカラロボットは、水平多関節ロボットとも称される。なお、ロボット２０は、スカラロボットに代えて、垂直多関節ロボットや直動ロボット等の他の種類のロボットであってもよい。ここで、垂直多関節ロボットは、１つの腕を備える単腕ロボットであってもよく、２つ以上の腕を備える複腕ロボットであってもよい。２つの腕を備える複腕ロボットは、双腕ロボットとも称される。なお、ロボット２０は、前述のロボットの一例である。
【００２２】
ロボット２０は、基台Ｂと、可動部Ａを備える。
【００２３】
基台Ｂは、可動部Ａを支持する。図１に示した例において、基台Ｂは、予め決められた設置面に設置されている。設置面は、例えば、ロボット２０に作業を行わせる部屋の床面である。なお、設置面は、当該床面に代えて、当該部屋の壁面、当該部屋の天井面、テーブルの上面、治具が有する面、台が有する面等の他の面であってもよい。
【００２４】
ここで、以下では、説明の便宜上、設置面と直交する方向のうち基台Ｂから設置面に向かう方向を下又は下方向と称して説明する。また、以下では、説明の便宜上、下方向と反対の方向を上又は上方向と称して説明する。
【００２５】
可動部Ａは、基台Ｂにより第１回動軸ＡＸ１周りに回動可能に支持された第１アームＡ１と、第１アームＡ１により第２回動軸ＡＸ２周りに回動可能に支持された第２アームＡ２と、第２アームＡ２により第３回動軸ＡＸ３周りに回動可能且つ第３回動軸ＡＸ３の軸方向に並進可能に支持されたシャフトＳを備える。
【００２６】
シャフトＳは、円柱形状の軸体である。シャフトＳの周表面には、図示しないボールねじ溝と、図示しないスプライン溝とがそれぞれ設けられている。図１に示した例では、シャフトＳは、第２アームＡ２の端部のうちの第１アームＡ１と反対側の端部を、上下方向に貫通し、設けられている。
【００２７】
シャフトＳの先端には、外部装置を取り付け可能である。シャフトＳの先端に取り付け可能な外部装置は、エンドエフェクター等のことである。シャフトＳの先端は、シャフトＳが有する２つの端部のうちの下側の端部のことである。図１に示したシャフトＳの先端には、何も取り付けられていない。シャフトＳの先端に取り付けられるエンドエフェクターは、例えば、指部によって物体を保持することが可能なエンドエフェクターである。なお、シャフトＳの先端に取り付けられるエンドエフェクターは、空気による吸着、磁気による吸着等によって物体を保持可能なエンドエフェクターであってもよい。また、シャフトＳの先端に取り付けられるエンドエフェクターは、物体を保持不可能なエンドエフェクターであってもよい。ここで、本実施形態では、物体を保持するとは、物体の状態を、持ち上げることが可能な状態にすることを意味する。
【００２８】
第１アームＡ１は、この一例において、第１回動軸ＡＸ１周りに回動し、水平方向に移動する。本実施形態において、水平方向は、上下方向と直交する方向のことである。なお、回動とは、軸の周囲を回転する運動を意味し、回転角が３６０度未満である場合も、回転角が３６０度以上である場合も含む。また、一方向に回転する運動に限らず、両方向に回転する運動も含む。
【００２９】
また、第１アームＡ１は、基台Ｂが備える第１駆動部Ｍ１によって第１回動軸ＡＸ１周りに回動させられる。第１駆動部Ｍ１は、第１アームＡ１を第１回動軸ＡＸ１周りに回動させるアクチュエーターである。第１駆動部Ｍ１は、例えば、モーターである。すなわち、本実施形態では、第１回動軸ＡＸ１は、第１駆動部Ｍ１の回動軸と一致する仮想的な軸のことである。なお、第１駆動部Ｍ１は、モーターに代えて、第１アームＡ１を回動させる他のアクチュエーターであってもよい。
【００３０】
第２アームＡ２は、この一例において、第２回動軸ＡＸ２周りに回動し、水平方向に移動する。
【００３１】
第２アームＡ２は、第２アームＡ２が備える第２駆動部Ｍ２によって第２回動軸ＡＸ２周りに回動させられる。第２駆動部Ｍ２は、第２アームＡ２を第２回動軸ＡＸ２周りに回動させる。第２駆動部Ｍ２は、例えば、モーターである。すなわち、本実施形態では、第２回動軸ＡＸ２は、第２駆動部Ｍ２の回動軸と一致する仮想的な軸のことである。なお、第２駆動部Ｍ２は、モーターに代えて、第２アームＡ２を回動させる他のアクチュエーターであってもよい。
【００３２】
また、第２アームＡ２は、第３駆動部Ｍ３及び第４駆動部Ｍ４を備え、シャフトＳを支持する。
【００３３】
第３駆動部Ｍ３は、シャフトＳのボールねじ溝の外周部に設けられたボールねじナットを、タイミングベルト等を介して回動させる。これにより、第３駆動部Ｍ３は、シャフトＳを上下方向に移動させる。第３駆動部Ｍ３は、例えば、モーターである。なお、第３駆動部Ｍ３は、モーターに代えて、シャフトＳを上下方向に移動させる他のアクチュエーターであってもよい。
【００３４】
第４駆動部Ｍ４は、シャフトＳのスプライン溝の外周部に設けられたボールスプラインナットを、タイミングベルト等を介して回動させる。これにより、第４駆動部Ｍ４は、シャフトＳを第３回動軸ＡＸ３周りに回動させる。第４駆動部Ｍ４は、例えば、モーターである。なお、第４駆動部Ｍ４は、モーターに代えて、シャフトＳを第３回動軸ＡＸ３周りに回動させる他のアクチュエーターであってもよい。
【００３５】
このように、第３回動軸ＡＸ３は、シャフトＳの中心軸と一致する仮想的な軸のことである。
【００３６】
以下では、一例として、第１駆動部Ｍ１〜第４駆動部Ｍ４のそれぞれが、すべて同じ構成を有している場合について説明する。なお、第１駆動部Ｍ１〜第４駆動部Ｍ４のうちの一部又は全部は、互いに異なる構成を有していてもよい。以下では、第１駆動部Ｍ１〜第４駆動部Ｍ４のそれぞれを区別する必要がない限り、これらをまとめて駆動部Ｍと称して説明する。
【００３７】
駆動部Ｍは、駆動部Ｍの回動軸の多回転量を、他の装置に出力するエンコーダーＥＣを備える。すなわち、駆動部Ｍは、本実施形態において、サーボモーターである。図１では、図が煩雑になるのを防ぐため、エンコーダーＥＣを省略している。ここで、当該回動軸の多回転量は、当該回動軸に取り付けられ、当該回動軸とともに回転する歯車の多回転量のことである。
【００３８】
エンコーダーＥＣは、バッテリーレスエンコーダーである。より具体的には、エンコーダーＥＣは、複数の歯車と、当該複数の歯車それぞれの位相を検出するセンサーとを備える。これにより、駆動部Ｍの回動軸の多回転量を導出する装置は、当該複数の歯車それぞれの位相の組み合わせに基づいて、駆動部Ｍの回動軸の多回転量を導出することができる。当該装置は、例えば、エンコーダーＥＣ、ロボット制御装置３０、情報処理装置４０等のことである。すなわち、エンコーダーＥＣは、エンコーダーＥＣへの電力の供給が止まっている場合であっても、バッテリーを備えることなく、当該回動軸の多回転量を保持することができる。なお、エンコーダーＥＣは、前述のエンコーダーの一例である。ここで、エンコーダーＥＣが備える複数の歯車の構成例について説明する。
【００３９】
図２は、エンコーダーＥＣが備える複数の歯車の構成例を示す図である。ここで、図２に示した回動軸ＳＴは、駆動部Ｍの回動軸の一例である。また、図２では、エンコーダーＥＣが備える複数の歯車の構成例を明確に示すため、エンコーダーＥＣのカバー、エンコーダーＥＣが備えるセンサー、当該センサーを制御する基板、エンコーダーＥＣが有する配線等を省略している。
【００４０】
エンコーダーＥＣは、エンコーダーＥＣが備える複数の歯車として、主軸歯車Ｇ０と、第１副軸歯車Ｇ１と、第２副軸歯車Ｇ２と、第３副軸歯車Ｇ３との４つの歯車を備える。なお、エンコーダーＥＣは、当該４つの歯車に加えて、他の１以上の歯車を備える構成であってもよい。
【００４１】
主軸歯車Ｇ０は、図２に示したように、回動軸ＳＴに取り付けられている。この場合、主軸歯車Ｇ０の位相は、回動軸ＳＴの位相と一致する。また、当該場合、主軸歯車Ｇ０の回転数は、回動軸ＳＴの回転数と一致する。また、当該場合、主軸歯車Ｇ０の多回転量は、回動軸ＳＴの多回転量と一致する。なお、主軸歯車Ｇ０は、前述の主軸歯車の一例である。
【００４２】
第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のそれぞれは、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３それぞれの歯が主軸歯車Ｇ０の歯と噛み合うように、エンコーダーＥＣに設けられている。また、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３それぞれは、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３それぞれの歯が互いに噛み合わないように、エンコーダーＥＣに設けられている。なお、第１副軸歯車Ｇ１は、前述の第１副軸歯車の一例である。また、第２副軸歯車Ｇ２は、前述の第２副軸歯車の一例である。また、第３副軸歯車Ｇ３は、前述の第３副軸歯車の一例である。
【００４３】
このように、エンコーダーＥＣは、主軸歯車Ｇ０と、第１副軸歯車Ｇ１と、第２副軸歯車Ｇ２と、第３副軸歯車Ｇ３を備える。これにより、エンコーダーＥＣは、前述したように、エンコーダーＥＣへの電力の供給が止まっている場合であっても、バッテリーを備えることなく、回動軸ＳＴの多回転量を保持することができる。
【００４４】
ここで、主軸歯車Ｇ０の歯数と、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３それぞれの歯数との組み合わせは、例えば、互いに素な４つの整数の組み合わせである。ここで、互いに素な４つの整数の組み合わせは、換言すると１以外の最大公約数を持たない４つの整数の組み合わせのことである。以下では、一例として、主軸歯車Ｇ０の歯数、第１副軸歯車Ｇ１の歯数、第２副軸歯車Ｇ２の歯数、第３副軸歯車Ｇ３の歯数が、順に２０歯、１７歯、１９歯、２３歯である場合について説明する。すなわち、実施形態では、主軸歯車Ｇ０の歯数は、２０歯であり、第１副軸歯車Ｇ１の歯数は、１７歯であり、第２副軸歯車Ｇ２の歯数は、１９歯であり、第３副軸歯車Ｇ３の歯数は、２３歯である。なお、主軸歯車Ｇ０の歯数と、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３それぞれの歯数との組み合わせは、互いに素な４つの整数に対して予め決められた実数を乗じた後の値の組み合わせであってもよい。ただし、この場合、当該予め決められた実数は、主軸歯車Ｇ０、第１副軸歯車Ｇ１、第２副軸歯車Ｇ２、第３副軸歯車Ｇ３のそれぞれに歯を刻むことが可能なように決められた実数である必要がある。このため、当該予め決められた実数は、整数であることが望ましい。
【００４５】
また、主軸歯車Ｇ０の歯数と、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３それぞれの歯数との組み合わせは、エンコーダーＥＣに保持させたい主軸歯車Ｇ０の回転数に応じて決められる。例えば、歯数が１７である第１副軸歯車Ｇ１と、歯数が１９である第２副軸歯車Ｇ２との組み合わせでは、主軸歯車Ｇ０の回転数として、１７×１９＝３２３回転までの回転数を保持することができる。
【００４６】
また、エンコーダーＥＣは、主軸位相出力部Ｓ０と、第１位相出力部Ｓ１と、第２位相出力部Ｓ２と、第３位相出力部Ｓ３を備える。なお、図２では、エンコーダーＥＣが備える４つの歯車の構成例を明確に示すため、主軸位相出力部Ｓ０と、第１位相出力部Ｓ１と、第２位相出力部Ｓ２と、第３位相出力部Ｓ３とのそれぞれを省略している。
【００４７】
主軸位相出力部Ｓ０は、主軸歯車Ｇ０の位相を出力する。主軸位相出力部Ｓ０は、例えば、主軸歯車Ｇ０の位相を検出することによって、当該位相を第１主軸位相として出力するセンサーである。当該センサーは、光学式センサーであってもよく、磁気式センサーであってもよく、レゾルバであってもよく、ポテンションメーターであってもよく、当該位相を検出可能な他のセンサーであってもよい。図２に示した例では、エンコーダーＥＣは、主軸位相出力部Ｓ０として、光学式センサーを備える。このため、図２に示した回動軸ＳＴの先端には、台座Ｂ１を介して、周方向に並ぶ複数のスリットからなる複数のスリット列が設けられた光学ディスクＤ１が設けられている。なお、主軸位相出力部Ｓ０は、前述の主軸位相出力部の一例である。
【００４８】
主軸位相出力部Ｓ０は、主軸歯車Ｇ０の位相を検出し、検出した第１主軸位相を示す第１主軸位相情報を、情報処理装置４０を介して、ロボット制御装置３０に出力する。
【００４９】
第１位相出力部Ｓ１は、第１副軸歯車Ｇ１の位相を検出することによって、当該位相を第１副軸位相として出力するセンサーである。当該センサーは、光学式センサーであってもよく、磁気式センサーであってもよく、レゾルバであってもよく、ポテンションメーターであってもよく、当該位相を検出可能な他のセンサーであってもよい。以下では、一例として、当該センサーが、磁気式センサーである場合について説明する。
【００５０】
第１位相出力部Ｓ１は、検出した第１副軸位相を示す第１副軸位相情報を、情報処理装置４０を介して、ロボット制御装置３０に出力する。
【００５１】
第２位相出力部Ｓ２は、第２副軸歯車Ｇ２の位相を検出することによって、当該位相を第２副軸位相として出力するセンサーである。当該センサーは、光学式センサーであってもよく、磁気式センサーであってもよく、レゾルバであってもよく、ポテンションメーターであってもよく、当該位相を検出可能な他のセンサーであってもよい。以下では、一例として、当該センサーが、磁気式センサーである場合について説明する。
【００５２】
第２位相出力部Ｓ２は、検出した第２副軸位相を示す第２副軸位相情報を、情報処理装置４０を介して、ロボット制御装置３０に出力する。
【００５３】
第３位相出力部Ｓ３は、第３副軸歯車Ｇ３の位相を検出することによって、当該位相を第３副軸位相として出力するセンサーである。当該センサーは、光学式センサーであってもよく、磁気式センサーであってもよく、レゾルバであってもよく、ポテンションメーターであってもよく、当該位相を検出可能な他のセンサーであってもよい。以下では、一例として、当該センサーが、磁気式センサーである場合について説明する。
【００５４】
第３位相出力部Ｓ３は、検出した第３副軸位相を示す第３副軸位相情報を、情報処理装置４０を介して、ロボット制御装置３０に出力する。
【００５５】
図１に戻る。ロボット制御装置３０は、ロボット２０を制御する。図１に示した例では、ロボット制御装置３０は、情報処理装置４０を介して、ロボット２０を制御する。
【００５６】
また、ロボット制御装置３０は、エンコーダーＥＣの主軸位相出力部Ｓ０から第１主軸位相情報を取得する。また、ロボット制御装置３０は、エンコーダーＥＣの第１位相出力部Ｓ１から、第１副軸位相情報を取得する。また、ロボット制御装置３０は、エンコーダーＥＣの第２位相出力部Ｓ２から、第２副軸位相情報を取得する。また、ロボット制御装置３０は、エンコーダーＥＣの第３位相出力部Ｓ３から、第３副軸位相情報を取得する。
【００５７】
ロボット制御装置３０は、取得した第１主軸位相情報、第１副軸位相情報、第２副軸位相情報、第３副軸位相情報に基づいて、主軸歯車Ｇ０の多回転量を導出する。
【００５８】
より具体的には、ロボット制御装置３０は、第１副軸位相、第２副軸位相、第３副軸位相の組み合わせに基づいて、主軸歯車Ｇ０の回転数を導出する。そして、ロボット制御装置３０は、導出した当該回転数と、第１主軸位相とを足し合わせた値を、主軸歯車Ｇ０の多回転量として導出する。ロボット制御装置３０は、導出した当該多回転量を、駆動部Ｍの回動軸の多回転量として特定する。ロボット制御装置３０は、特定した当該多回転量に基づいて駆動部Ｍを制御することにより、ロボット２０を動作させる。なお、本実施形態では、ロボット制御装置３０が当該多回転量に基づいてロボット２０を動作させる処理については、説明を省略する。
【００５９】
また、ロボット制御装置３０は、第１処理を行う。第１処理は、第１１処理と、第１２処理と、第１３処理と、第１４処理を含む処理である。実施形態において、第１１処理は、第１副軸歯車Ｇ１と第２副軸歯車Ｇ２とに基づく第１回転数を導出する処理のことである。また、実施形態において、第１２処理は、第２副軸歯車Ｇ２と第３副軸歯車Ｇ３とに基づく第２回転数を導出する処理のことである。また、実施形態において、第１３処理は、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１とに基づく第３回転数を導出する処理のことである。また、実施形態において、第１４処理は、第１回転数と第２回転数と第３回転数とのうちの２つ以上の回転数が互いに一致していない場合に駆動部Ｍを停止させる処理のことである。なお、実施形態において、第１処理には、第１１処理、第１２処理、第１３処理、第１４処理に加えて、他の処理が含まれる構成であってもよい。また、実施形態において、ある３つの値のうちの２つ以上の値が互いに一致していないことは、当該３つの値から選択可能な２つの値の組み合わせのうちのいずれかの組み合わせに含まれる２つの値が互いに一致していない、又は、当該３つの値が互いに一致していないことを意味する。また、駆動部Ｍを停止させる処理として、例えば、ロボット２０が電力遮断部を備える場合には、ロボット２０への電力供給を遮断させる処理を行い、駆動部Ｍへの電力供給を遮断することにより、駆動部Ｍの回動を止めてもよいし、また、例えば、電磁ブレーキなどを搭載している場合には、電磁ブレーキをオンさせる処理を行うことにより、駆動部Ｍの回動を止めてもよい。
【００６０】
ここで、第１回転数と第２回転数と第３回転数とのうちの２つ以上の回転数が互いに一致していない場合、エンコーダーＥＣにおいて副軸歯車に関する異常が発生している可能性が高い。より具体的には、当該場合、エンコーダーＥＣにおいて第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のうちの一部又は全部に関する異常が発生している可能性が高い。エンコーダーＥＣにおける副軸歯車に関する異常は、例えば、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のうちの一部又は全部の副軸歯車の歯の摩耗、当該歯の欠損、第１位相出力部Ｓ１〜第３位相出力部Ｓ３のうちの一部又は全部の故障等である。エンコーダーＥＣにおいて副軸歯車に関する異常が発生している場合、エンコーダーＥＣから出力された情報に基づいて導出される主軸歯車の多回転量は、実際の多回転量と異なる値になることがある。これは、前述した通り、当該情報に基づいて導出される主軸歯車Ｇ０の多回転量が、第１主軸位相と主軸歯車Ｇ０の回転数とを足し合わせた値であり、且つ、主軸歯車Ｇ０の回転数が、第１副軸位相〜第３副軸位相に基づいて導出されるためである。当該情報に基づいて導出される主軸歯車の多回転量が実際の多回転量と異なる値になる場合、ロボット２０が誤作動することがある。
【００６１】
すなわち、ロボット制御装置３０は、第１処理によって、主軸歯車Ｇ０の回転数が実際の回転数と異なる回転数になっているか否かを判定する。これはつまり、ロボット制御装置３０が、第１処理によって、導出した主軸歯車Ｇ０の多回転量が実際の多回転量と異なる多回転量になっているか否かを判定することを意味する。そして、ロボット制御装置３０は、導出した主軸歯車Ｇ０の多回転量が実際の多回転量と異なる値になっている場合、すなわち、第１回転数と、第２回転数と、第３回転数とのうちの２つ以上の回転数が互いに一致していない場合、ロボット２０の駆動部Ｍを停止させる。その結果、ロボット２０の動作を停止でき、ロボットシステム１は、ロボット２０が誤作動することを抑制することができる。
【００６２】
また、ロボット制御装置３０は、第３処理を行う。第３処理は、第３１処理と、第３２処理を含む処理である。実施形態において、第３１処理は、第１副軸位相と、第２副軸位相と、第３副軸位相とに基づいて、主軸歯車Ｇ０の位相を第２主軸位相として導出する処理のことである。また、実施形態において、第３２処理は、前述の第１主軸位相と第２主軸位相とが互いに一致していない場合、駆動部Ｍを停止させる処理のことである。なお、実施形態において、第３処理には、第３１処理、第３２処理に加えて、他の処理が含まれる構成であってもよい。
【００６３】
ここで、第１主軸位相と第２主軸位相とが互いに一致していない場合、エンコーダーＥＣにおいて主軸歯車Ｇ０に関する異常、又は、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のうちの一部又は全部に関する異常が発生している可能性が高い。エンコーダーＥＣにおける主軸歯車Ｇ０に関する異常は、主軸歯車Ｇ０の歯の摩耗、当該歯の欠損、主軸位相出力部Ｓ０の故障等である。エンコーダーＥＣにおいてこれらの異常が発生している場合、エンコーダーＥＣから出力された情報に基づいて導出される主軸歯車Ｇ０の多回転量は、実際の多回転量と異なる値になることがある。これは、当該情報に基づいて導出される主軸歯車の多回転量が、第１主軸位相と主軸歯車Ｇ０の回転数とを足し合わせた値であり、且つ、主軸歯車Ｇ０の回転数が、第１副軸位相〜第３副軸位相に基づいて導出されるためである。当該情報に基づいて導出される主軸歯車Ｇ０の多回転量が実際の多回転量と異なる値になる場合、ロボット２０が、前述した通り、誤作動することがある。
【００６４】
すなわち、ロボット制御装置３０は、第３処理によって、導出した主軸歯車Ｇ０の多回転量が実際の多回転量と異なる値になっているか否かを判定する。そして、ロボット制御装置３０は、導出した主軸歯車Ｇ０の多回転量が実際の多回転量と異なる値になっている場合、すなわち、第１主軸位相と、第２主軸位相とが互いに一致していない場合、駆動部Ｍを停止させる。その結果、ロボット２０の動作を停止でき、ロボットシステム１は、ロボット２０が誤作動することを抑制することができる。
【００６５】
なお、ロボット制御装置３０は、上記において説明した第１処理と第３処理とのうちのいずれか一方を含む処理を行う構成であってもよく、第１処理と第３処理との両方を含む処理を行う構成であってもよい。以下では、一例として、ロボット制御装置３０が、第１処理と第３処理との両方を含む処理を行う場合について説明する。この場合、ロボット制御装置３０は、エンコーダーＥＣにおいて主軸歯車Ｇ０と副軸歯車とのいずれに異常が発生しているかを判定することができる。当該副軸歯車は、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のうちの一部又は全部のことである。ロボット制御装置３０は、前述のロボット制御装置の一例である。
【００６６】
情報処理装置４０は、ロボット２０とロボット制御装置３０との間を中継する情報処理装置である。より具体的には、情報処理装置４０は、ロボット２０とロボット制御装置３０との間における各種の信号の伝送を中継する。これにより、情報処理装置４０は、ロボット２０とロボット制御装置３０との間における各種の信号に応じた処理を、ロボット制御装置３０とは独立に行うことができる。その結果、例えば、情報処理装置４０は、ロボット２０が意図しない動作を行った場合、より確実にロボット２０を停止させることができる。すなわち、情報処理装置４０は、ロボットシステム１の安全性を向上させることができる。なお、本実施形態では、情報処理装置４０について、これ以上の詳細な説明を省略する。また、情報処理装置４０は、前述の情報処理装置の一例である。
【００６７】
＜ロボット制御装置のハードウェア構成＞
以下、図３を参照し、ロボット制御装置３０のハードウェア構成について説明する。図３は、ロボット制御装置３０のハードウェア構成の一例を示す図である。ロボット制御装置３０は、例えば、プロセッサー３１と、メモリー３２と、通信部３４を備える。これらの構成要素は、バスを介して相互に通信可能に接続されている。また、ロボット制御装置３０は、通信部３４を介してロボット２０と通信を行う。なお、前述した通り、実施形態では、当該通信は、情報処理装置４０によって中継される。また、ロボット制御装置３０は、上述した他にも、例えば、各駆動部と電源とをそれぞれ接続するスイッチを制御する回路、すなわちモータードライバを備えていてもよい。
【００６８】
プロセッサー３１は、例えば、ＣＰＵ（Central  Processing  Unit）である。なお、プロセッサー３１は、ＦＰＧＡ（Field  Programmable  Gate  Array）等の他のプロセッサーであってもよい。プロセッサー３１は、ロボット制御装置３０が備えるメモリー３２に格納された各種の指令を実行する。
【００６９】
メモリー３２は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、メモリー３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ（Universal  Serial  Bus）等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。また、メモリー３２は、ロボット制御装置３０以外の装置に設けられてもよく、例えば、ロボット２０、情報処理装置４０、エンコーダーＥＣ、クラウド上のコンピューター等に設けられてもよい。メモリー３２は、プロセッサー３１が処理する各種の情報、コンピューターにより実行可能な各種の指令、各種の画像等を格納する。ここで、当該各種の指令は、例えば、ロボット２０の動作プログラム、コード等のことである。
【００７０】
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポート、イーサネット（登録商標）ポート等を含んで構成される。
【００７１】
なお、ロボット制御装置３０は、キーボード、マウス、タッチパッド等の入力装置を備える構成であってもよい。また、ロボット制御装置３０は、液晶ディスプレイパネル、有機ＥＬ（ElectroLuminescence）ディスプレイパネル等を備えた表示装置を備える構成であってもよい。
【００７２】
＜ロボット制御装置の機能構成＞
以下、図４を参照し、ロボット制御装置３０の機能構成について説明する。図４は、ロボット制御装置３０の機能構成の一例を示す図である。ロボット制御装置３０は、メモリー３２と、通信部３４と、制御部３６を備える。なお、前述した通り、実施形態では、第１駆動部Ｍ１〜第４駆動部Ｍ４のそれぞれは、互いに同じ構成である。このため、図４では、図を簡略化するため、第２駆動部Ｍ２〜第４駆動部Ｍ４それぞれが備える主軸位相出力部Ｓ０、第１位相出力部Ｓ１、第２位相出力部Ｓ２、第３位相出力部Ｓ３について、省略している。また、制御部３６は、第１駆動部Ｍ１〜第４駆動部Ｍ４のそれぞれについて、同様の処理を行う。このため、以下では、制御部３６が第１駆動部Ｍ１に対して行う処理を例に挙げて、制御部３６が第１駆動部Ｍ１〜第４駆動部Ｍ４のそれぞれに対して行う処理について説明する。
【００７３】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、取得部３６１と、導出部３６３と、判定部３６５と、計時部３６７と、ロボット制御部３６９と、報知部３７１を備える。制御部３６が備えるこれらの機能部は、例えば、プロセッサー３１が、メモリー３２に記憶された各種の指令を実行することにより実現される。また、これらの機能部のうち一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００７４】
取得部３６１は、第１駆動部Ｍ１の主軸位相出力部Ｓ０から第１主軸位相情報を取得する。また、取得部３６１は、第１駆動部Ｍ１の第１位相出力部Ｓ１から第１副軸位相情報を取得する。また、取得部３６１は、第１駆動部Ｍ１の第２位相出力部Ｓ２から第２副軸位相情報を取得する。また、取得部３６１は、第１駆動部Ｍ１の第３位相出力部Ｓ３から、第３副軸位相情報を取得する。
【００７５】
導出部３６３は、ロボット制御装置３０が行う各種の導出処理を行う。
【００７６】
導出部３６３は、例えば、第１駆動部Ｍ１のエンコーダーＥＣから取得部３６１が取得した情報が示す３つの位相に基づいて、当該エンコーダーＥＣが備える主軸歯車Ｇ０の回転数を導出する。当該情報は、第１副軸位相情報、第２副軸位相情報、第３副軸位相情報のことである。また、当該３つの位相は、第１副軸位相、第２副軸位相、第３副軸位相のことである。導出部３６３は、導出した当該主軸歯車Ｇ０の回転数と、当該エンコーダーＥＣから取得部３６１が取得した第１主軸位相情報が示す第１主軸位相とを足し合わせた値を、主軸歯車Ｇ０の多回転量として導出する。
【００７７】
また、導出部３６３は、第１駆動部Ｍ１のエンコーダーＥＣについて、第１回転数と、第２回転数と、第３回転数とのそれぞれを導出する。当該エンコーダーＥＣの第１回転数は、当該エンコーダーＥＣの第１副軸位相と、当該エンコーダーＥＣの第２副軸位相とに基づいて導出される当該エンコーダーＥＣの主軸歯車Ｇ０の回転数のことである。当該エンコーダーＥＣの第２回転数は、当該エンコーダーＥＣの第２副軸位相と、当該エンコーダーＥＣの第３副軸位相とに基づいて導出される当該主軸歯車Ｇ０の回転数のことである。当該エンコーダーＥＣの第３回転数は、当該エンコーダーＥＣの第３副軸位相と、当該エンコーダーＥＣの第１副軸位相とに基づいて導出される当該主軸歯車Ｇ０の回転数のことである。
【００７８】
また、導出部３６３は、第１駆動部Ｍ１のエンコーダーＥＣについて、第１副軸位相と、第２副軸位相と、第３副軸位相とに基づいて、主軸歯車Ｇ０の位相を第２主軸位相として導出する。
【００７９】
判定部３６５は、ロボット制御装置３０が行う各種の判定処理を行う。
【００８０】
判定部３６５は、例えば、第１駆動部Ｍ１について導出部３６３が導出した第１回転数、第２回転数、第３回転数のそれぞれに基づいて、第１異常条件が満たされているか否かを判定する。第１異常条件は、第１回転数と、第２回転数と、第３回転数とのうちの２つ以上の回転数が互いに一致していないこと、である。なお、第１異常条件には、これに加えて、他の条件が含まれる構成であってもよい。また、第１異常条件は、第１回転数と、第２回転数と、第３回転数とのうちの２つの回転数が互いに一致していないこと、であってもよい。すなわち、第１異常条件は、第１回転数と第２回転数との２つの回転数が互いに一致していないことであってもよく、第２回転数と第３回転数との２つの回転数が互いに一致していないことであってもよく、第３回転数と第１回転数との２つの回転数が互いに一致していないことであってもよく、これら３つの条件のうち２つを組み合わせた条件であってもよい。
【００８１】
また、判定部３６５は、例えば、取得部３６１が取得した第１主軸位相を示す情報と、導出部３６３が導出した第２主軸位相とに基づいて、第３異常条件が満たされているか否かを判定する。第３異常条件は、当該第１主軸位相と、当該第２主軸位相とが互いに一致していないこと、である。なお、第３異常条件には、これに加えて、他の条件が含まれる構成であってもよい。
【００８２】
計時部３６７は、経過時間を計る。
【００８３】
ロボット制御部３６９は、ロボット２０を制御する。
【００８４】
ロボット制御部３６９は、例えば、メモリー３２に予め記憶された動作プログラムに基づいて、ロボット２０に予め決められた作業を行わせる。
【００８５】
また、ロボット制御部３６９は、例えば、第１異常条件が満たされていると判定部３６５が判定した場合、駆動部Ｍを停止させる。
【００８６】
また、ロボット制御部３６９は、例えば、第３異常条件が満たされていると判定部３６５が判定した場合、駆動部Ｍを停止させる。
【００８７】
報知部３７１は、第１異常条件が満たされていると判定部３６５が判定した場合、第１異常条件が満たされていることを示す情報を報知する。また、報知部３７１は、第３異常条件が満たされていると判定部３６５が判定した場合、第３異常条件が満たされていることを示す情報を報知する。
【００８８】
例えば、報知部３７１は、ある情報を報知する場合、当該情報を示す音をスピーカーから鳴らすことにより、当該情報を報知する。この際、報知部３７１は、ロボット制御装置３０に備えられたスピーカーから当該音を鳴らして当該情報を報知する構成であってもよく、ロボット制御装置３０と通信可能に接続された他の装置に備えられたスピーカーから当該音を鳴らして当該情報を報知する構成であってもよい。また、報知部３７１は、当該場合、当該情報を示す光を点すランプを点灯させることにより、当該情報を報知する。当該ランプは、例えば、パトランプ等である。この際、報知部３７１は、ロボット制御装置３０に備えられた当該ランプを点灯させて当該情報を報知する構成であってもよく、ロボット制御装置３０と通信可能に接続された他の装置に備えられたランプを点灯させて当該情報を報知する構成であってもよい。また、例えば、報知部３７１は、当該情報を示す画像をディスプレイに表示させることにより、当該情報を報知する。この際、報知部３７１は、ロボット制御装置３０に備えられたディスプレイに当該画像を表示させて当該情報を報知する構成であってもよく、ロボット制御装置３０と通信可能に接続された他の装置に備えられたディスプレイに当該画像を表示させて当該情報を報知する構成であってもよい。また、報知部３７１は、当該情報を他の装置に出力することにより、当該情報を報知する。なお、報知部３７１は、これら以外の方法によって当該情報を報知する構成であってもよい。
【００８９】
＜第１処理と第３処理との両方を含む処理＞
以下、ロボット制御装置３０が行う処理のうち、前述の第１処理と第３処理との両方を含む処理について説明する。図５は、ロボット制御装置３０が行う処理のうちの第１処理と第３処理との両方を含む処理の流れの一例を示す図である。図５に示した例では、当該処理には、第１処理と第３処理に加えて、第２処理が含まれている。
【００９０】
第２処理は、駆動部ＭのエンコーダーＥＣが備える３つの副軸歯車それぞれについて、副軸歯車の位相の変化量を、実際の変化量と異なる変化量に導出されているか否かを判定する処理である。第２処理の詳細については、後述する。なお、ロボット制御装置３０が行う処理のうちの第１処理と第３処理との両方を含む処理には、第２処理に代えて、他の処理が含まれる構成であってもよく、第２処理に加えて、他の処理が含まれる構成であってもよい。
【００９１】
ロボット制御部３６９は、ロボット制御部３６９がロボット２０に動作を開始させる前のタイミングにおいて予め決められた開始条件が満たされるまで待機する（ステップＳ１１０）。
【００９２】
ここで、ロボット制御部３６９がロボット２０に動作を開始させる前のタイミングは、換言すると、ロボット２０を動作させる動作プログラムを実行させる操作をロボット制御装置３０が受け付けるよりも前のタイミングのことである。また、ロボット制御部３６９がロボット２０に動作を開始させる前のタイミングは、更に換言すると、ロボット２０が動作し始めるよりも前のタイミングのことである。すなわち、実施形態において、ロボット２０が動作している期間は、当該動作プログラムが実行されている期間のことである。また、上記の他にも、ロボット制御部３６９がロボット２０に動作を開始させるタイミングは、駆動部Ｍを駆動するために駆動部Ｍに電流が流れるタイミングであってもよく、例えば、３相交流方式である場合には、各相に電流が流れるタイミングであってもよい。さらに、電磁ブレーキなどを搭載している場合には、電磁ブレーキがオフとなる電圧や電流となるタイミングであってもよい。
【００９３】
また、開始条件は、例えば、ロボット２０の電源が投入されたこと、である。例えば、ロボット制御装置３０に、ロボット制御装置３０の基板と電源とを物理的に接続又は遮断できるスイッチにおいて、当該スイッチに電流が流れることや、当該スイッチの両端電圧が、電源電圧と等しい電圧になること、である。なお、開始条件は、これに代えて、ロボット２０と情報処理装置４０とエンコーダーＥＣのうちの一部又は全部の基板に電力が供給されたこと、であってもよい。例えば、一部の基板に、当該基板が待機状態である時に流れる電流値よりも、高い電流値が流れたこと、であってもよい。また、開始条件は、図５に示したフローチャートの処理をロボット制御装置３０に開始させる操作をロボット制御装置３０が受け付けたこと、であってもよい。また、開始条件は、他の条件であってもよい。
【００９４】
制御部３６は、ロボット制御部３６９がロボット２０に動作を開始させる前のタイミングにおいて開始条件が満たされたとロボット制御部３６９が判定した場合（ステップＳ１１０−ＹＥＳ）、第１処理を行う（ステップＳ１２０）。第１処理の流れについてと、第１処理に含まれる各処理を行う主体については、後述する。
【００９５】
次に、制御部３６は、第３処理を行う（ステップＳ１３０）。第３処理の流れについてと、第３処理に含まれる各処理を行う主体については、後述する。
【００９６】
なお、制御部３６は、ステップＳ１２０の処理とステップＳ１３０の処理とを並列に行う構成であってもよく、図５に示した順と逆の順でステップＳ１２０の処理とステップＳ１３０の処理とを行う構成であってもよい。
【００９７】
次に、ロボット制御部３６９は、ロボット２０の動作を開始させるまで待機する（ステップＳ１４０）。例えば、ロボット制御部３６９は、ロボット２０を動作させる動作プログラムを実行させる操作を受け付けた場合、ロボット２０の動作を開始させると判定する。この際、駆動部Ｍには、電流が流れる。
【００９８】
計時部３６７は、ロボット２０の動作を開始させるとロボット制御部３６９が判定した場合（ステップＳ１４０−ＹＥＳ）、計時を開始する。そして、計時部３６７は、直前に計時を開始したタイミングから第１所定時間が経過したか否かを判定する（ステップＳ１５０）。第１所定時間は、例えば、１分である。なお、第１所定時間は、１分よりも短い時間であってもよく、１分よりも長い時間であってもよい。第１所定時間は、所定時間の一例である。
【００９９】
計時部３６７は、直前に計時を開始したタイミングから第１所定時間が経過していないと判定した場合（ステップＳ１５０−ＮＯ）、当該タイミングから第２所定時間が経過したか否かを判定する（ステップＳ１６０）。第２所定時間は、例えば、０．００１秒である。なお、第２所定時間は、０．００１秒よりも短い時間であってもよく、０．００１秒よりも長い時間であってもよい。
【０１００】
計時部３６７は、直前に計時を開始したタイミングから第２所定時間が経過していないと計時部３６７が判定した場合（ステップＳ１６０−ＮＯ）、ステップＳ１５０に遷移し、当該タイミングから第１所定時間が経過しているか否かを再び判定する。
【０１０１】
一方、制御部３６は、直前に計時を開始したタイミングから第２所定時間が経過したと計時部３６７が判定した場合（ステップＳ１６０−ＹＥＳ）、第２処理を行う（ステップＳ１７０）。第２処理は、第２処理の流れについてと、第２処理に含まれる各処理を行う主体については、後述する。
【０１０２】
ステップＳ１７０の処理が行われた後、計時部３６７は、ステップＳ１５０に遷移し、直前に計時を開始したタイミングから第１所定時間が経過したか否かを再び判定する。
【０１０３】
一方、計時部３６７は、直前に計時を開始したタイミングから第１所定時間が経過したと判定した場合（ステップＳ１５０−ＹＥＳ）、直前に開始した計時を終了する。そして、制御部３６は、第１処理を行う（ステップＳ１８０）。ここで、ステップＳ１８０の処理は、ステップＳ１２０の処理と同様の処理であるため、説明を省略する。
【０１０４】
次に、制御部３６は、第３処理を行う（ステップＳ１９０）。ここで、ステップＳ１９０の処理は、ステップＳ１３０の処理と同様の処理であるため、説明を省略する。
【０１０５】
なお、制御部３６は、ステップＳ１８０の処理とステップＳ１９０の処理とを並列に行う構成であってもよく、図５に示した順と逆の順でステップＳ１８０の処理とステップＳ１９０の処理とを行う構成であってもよい。
【０１０６】
計時部３６７は、ステップＳ１９０の処理が行われた後、ステップＳ１５０に遷移し、計時を再び開始する。そして、計時部３６７は、直前に計時を開始したタイミングから第１所定時間が経過したか否かを判定する。
【０１０７】
以上のように、図５に示した例では、ロボット制御装置３０は、ロボット２０に電源が投入されてからロボット２０が動き出すまでの間において、第１処理と第３処理とを行う。なお、ロボット制御装置３０は、他のタイミング、又は、他の期間において、第１処理と第３処理とを行う構成であってもよい。また、ロボット制御装置３０は、第１処理を行わない構成である場合、ステップＳ１２０及びステップＳ１８０を省略する。また、ロボット制御装置３０は、第３処理を行わない構成である場合、ステップＳ１３０及びステップＳ１９０を省略する。
【０１０８】
また、図５に示した例では、ロボット制御装置３０は、１回目の第１処理が行われた後において、第１所定時間が経過する毎に、第１処理を行う。これにより、ロボット制御装置３０は、ロボット２０が動作している最中において、導出した主軸歯車Ｇ０の多回転量が実際の多回転量と異なる値になった場合であっても、駆動部Ｍを停止させることにより、ロボット２０を停止させることができる。その結果、ロボット制御装置３０は、ロボット２０が誤作動してしまうことを、より確実に抑制することができる。なお、第１所定時間が経過することは、所定の条件の一例である。なお、ロボット制御装置３０は、ステップＳ１５０において、第１所定時間が経過することと異なる条件が満たされた場合にステップＳ１８０の処理を行い、当該条件が満たされない場合にステップＳ１６０の処理を行う構成であってもよい。当該条件は、例えば、ロボット２０が行う作業の回数が所定の回数に達すること等である。
【０１０９】
また、図５に示したフローチャートの処理のうち、ステップＳ１５０の処理と、ステップＳ１８０の処理と、ステップＳ１９０の処理とは、省略されてもよい。これにより、ロボット制御装置３０は、ロボット２０が動作している間においてロボット制御装置３０が行う処理の負荷を低減することができる。ただし、ステップＳ１８０の処理とステップＳ１９０の処理とを省略せずにロボット制御装置３０が実行する場合、ロボット制御装置３０は、ロボット２０が動作している間に、エンコーダーＥＣにおいて主軸歯車Ｇ０又は副軸歯車に関する異常が発生した場合であっても、ロボット２０が誤作動してしまうことを抑制することができる。
【０１１０】
また、図５に示した例では、ロボット制御装置３０は、ステップＳ１６０において、第２所定時間が経過することと異なる条件が満たされた場合にステップＳ１７０の処理を行い、当該条件が満たされない場合にステップＳ１５０の処理を行う構成であってもよい。当該条件は、例えば、ロボット２０が行う作業の回数が所定の回数に達すること等である。
【０１１１】
また、図５に示したフローチャートの処理のうちの一部又は全部の処理は、ロボット制御装置３０に代えて、ロボット２０、情報処理装置４０、エンコーダーＥＣのうちの一部又は全部によって行われる構成であってもよく、ロボット制御装置３０に加えて、ロボット２０、情報処理装置４０、エンコーダーＥＣのうちの一部又は全部によって行われる構成であってもよい。この場合、図５に示したフローチャートの処理のうちの一部又は全部の処理を行う装置は、制御部３６が有する機能のうち当該処理を行う機能を備える。ロボットシステム１において、当該装置は、ロボット２０、情報処理装置４０、エンコーダーＥＣ等であるが、これらに代えて、他の装置であってもよい。この場合、ロボットシステム１は、当該他の装置を備える。
【０１１２】
＜ステップＳ１２０の処理＞
以下、図５に示したステップＳ１２０の処理、すなわち、第１処理について説明する。図６は、図５に示したステップＳ１２０の処理の流れの一例を示す図である。ここで、図６に示したフローチャートの処理は、４つの駆動部Ｍのそれぞれについて行う。そこで、以下では、ステップＳ１２０の処理を、第１駆動部Ｍ１についての処理を例に挙げて説明する。
【０１１３】
取得部３６１は、第１駆動部Ｍ１が備えるエンコーダーＥＣの主軸位相出力部Ｓ０から第１主軸位相情報を取得する（ステップＳ２１０）。
【０１１４】
次に、取得部３６１は、第１駆動部Ｍ１が備えるエンコーダーＥＣの第１位相出力部Ｓ１から第１副軸位相情報を取得し、当該エンコーダーＥＣの第２位相出力部Ｓ２から第２副軸位相情報を取得し、当該エンコーダーＥＣの第３位相出力部Ｓ３から第３副軸位相情報を取得する（ステップＳ２２０）。
【０１１５】
次に、導出部３６３は、ステップＳ２２０において取得した３つの副軸位相情報に基づいて、主軸歯車Ｇ０の回転数を導出する（ステップＳ２３０）。当該３つの副軸位相情報は、第１副軸位相情報、第２副軸位相情報、第３副軸位相情報のことである。
【０１１６】
ここで、ステップＳ２３０の処理について説明する。
【０１１７】
まず、第１副軸位相、第２副軸位相、第３副軸位相に基づいて、導出部３６３が主軸歯車Ｇ０の回転数を導出する方法の一例について説明する。
【０１１８】
２つの歯車のそれぞれが他の１つの歯車と噛み合っている場合、当該２つの歯車それぞれの位相の組み合わせは、当該１つの歯車の回転数と一対一に対応付けることができる。このため、第１副軸位相と第２副軸位相との組み合わせは、主軸歯車Ｇ０の回転数に対応付けることができる。また、第２副軸位相と第３副軸位相との組み合わせは、主軸歯車Ｇ０の回転数に対応付けることができる。また、第３副軸位相と第１副軸位相との組み合わせは、主軸歯車Ｇ０の回転数に対応付けることができる。以上のことから、導出部３６３は、第１副軸位相と第２副軸位相との組み合わせに基づいて、主軸歯車Ｇ０の回転数を導出することができる。また、導出部３６３は、第２副軸位相と第３副軸位相との組み合わせに基づいて、主軸歯車Ｇ０の回転数を導出することができる。また、導出部３６３は、第３副軸位相と第１副軸位相との組み合わせに基づいて、主軸歯車Ｇ０の回転数を導出することができる。
【０１１９】
そこで、導出部３６３は、第１副軸位相と、第２副軸位相と、メモリー３２に予め記憶された第１対応情報とに基づいて、主軸歯車Ｇ０の回転数を、第１回転数として導出する。第１対応情報は、第１副軸位相と第２副軸位相との組み合わせと、主軸歯車Ｇ０の回転数とが対応付けられた情報のことである。ただし、導出部３６３は、第１回転数を整数として導出するため、第１対応情報において、第１副軸位相と第２副軸位相との組み合わせに対応付けられた主軸歯車Ｇ０の回転数は、例えば、小数点以下が切り捨てられている。なお、第１対応情報において、当該回転数の小数点以下の取り扱い方法は、四捨五入等の他の方法であってもよい。
【０１２０】
図７は、第１対応情報の一例を示す図である。図７に示した例では、第１対応情報は、第１副軸位相と第２副軸位相との組み合わせと、主軸歯車Ｇ０の回転数とが対応付けられたテーブルである。また、当該テーブルでは、主軸歯車Ｇ０の回転数を示す情報と、当該回転数に応じた主軸歯車Ｇ０の位相の変化量を示す情報と、主軸歯車Ｇ０と第１副軸歯車Ｇ１との間の位相差を示す情報と、主軸歯車Ｇ０と第２副軸歯車Ｇ２との間の位相差を示す情報とが対応付けられている。ここで、主軸歯車Ｇ０と第１副軸歯車Ｇ１との間の位相差は、第１副軸位相の代わりとして用いることができる。このため、当該テーブルには、第１副軸位相を示す情報に代えて、主軸歯車Ｇ０と第１副軸歯車Ｇ１との間の位相差を示す情報が含まれている。また、主軸歯車Ｇ０と第２副軸歯車Ｇ２との間の位相差は、第２副軸位相の代わりとして用いることができる。このため、当該テーブルには、第２副軸位相を示す情報に代えて、主軸歯車Ｇ０と第２副軸歯車Ｇ２との間の位相差を示す情報が含まれている。
【０１２１】
また、図７に示したテーブルでは、主軸歯車Ｇ０の位相の変化量を示す情報は、主軸歯車Ｇ０の回転数に応じて原点から主軸歯車Ｇ０の歯が移動した数によって表されている。例えば、実施形態では、主軸歯車Ｇ０の歯数は、２０歯である。このため、当該テーブルでは、主軸歯車Ｇ０の回転数が１回転の場合、主軸歯車Ｇ０の位相の変化量は、「２０歯」と表されている。
【０１２２】
また、図７に示したテーブルでは、主軸歯車Ｇ０と第１副軸歯車Ｇ１との間の位相差を示す情報は、第１副軸歯車Ｇ１の歯数によって表されている。例えば、実施形態では、主軸歯車Ｇ０の歯数が２０歯であり、第１副軸歯車Ｇ１の歯数が１７歯である。このため、主軸歯車Ｇ０の回転数が１回転の場合、主軸歯車Ｇ０の位相よりも第１副軸歯車Ｇ１の位相の方が、第１副軸歯車Ｇ１の歯にして３歯分大きくなる。すなわち、第１副軸歯車Ｇ１は、主軸歯車Ｇ０よりも第１副軸歯車Ｇ１の歯にして３歯分多く回転している。換言すると、主軸歯車Ｇ０と第１副軸歯車Ｇ１との間の位相差は、第１副軸歯車Ｇ１の歯にして＋３歯である。そこで、当該テーブルでは、当該位相差を示す情報は、「＋３歯」と表されている。
【０１２３】
また、図７に示したテーブルでは、主軸歯車Ｇ０と第２副軸歯車Ｇ２との間の位相差を示す情報は、第２副軸歯車Ｇ２の歯数によって表されている。例えば、実施形態では、主軸歯車Ｇ０の歯数が２０歯であり、第２副軸歯車Ｇ２の歯数が１９歯である。このため、主軸歯車Ｇ０の回転数が１回転の場合、主軸歯車Ｇ０の位相よりも第２副軸歯車Ｇ２の位相の方が、第２副軸歯車Ｇ２の歯にして１歯分小さくなる。すなわち、第２副軸歯車Ｇ２は、主軸歯車Ｇ０よりも第２副軸歯車Ｇ２の歯にして１歯分少なく回転している。換言すると、主軸歯車Ｇ０と第２副軸歯車Ｇ２との間の位相差は、第２副軸歯車Ｇ２の歯にして−１歯である。そこで、当該テーブルでは、当該位相差を示す情報は、「−１歯」と表されている。
【０１２４】
なお、図７に示したテーブルには、主軸歯車Ｇ０の位相の変化量が、２０歯、４０歯の場合のみが示されている。しかし、当該テーブルは、説明を簡略化するために示した一例に過ぎない。当該変化量は、整数であってもよく、実数であってもよい。また、主軸歯車Ｇ０の位相の変化量は、主軸歯車Ｇ０の歯数によって表される構成に代えて、当該変化量を示す他の情報によって表されてもよい。また、当該テーブルでは、主軸歯車Ｇ０と第１副軸歯車Ｇ１との間の位相差は、第１副軸歯車Ｇ１の歯数によって表す構成に代えて、当該位相差を示す他の情報によって表されてもよい。また、当該テーブルでは、主軸歯車Ｇ０と第２副軸歯車Ｇ２との間の位相差は、第２副軸歯車Ｇ２の歯数によって表す構成に代えて、当該位相差を示す他の情報によって表されてもよい。また、第１対応情報は、テーブルに代えて、第１副軸位相と第２副軸位相との組み合わせと、主軸歯車Ｇ０の回転数とが対応付けられた他の情報であってもよい。
【０１２５】
導出部３６３は、このような第１対応情報を用いて、主軸歯車Ｇ０の回転数を第１回転数として導出する。具体的には、導出部３６３は、第１副軸位相と第２副軸位相との組み合わせに対応付けられた主軸歯車Ｇ０の回転数を、メモリー３２に予め記憶された第１対応情報から検出することにより、当該回転数を第１回転数として導出する。
【０１２６】
また、導出部３６３は、第２副軸位相と、第３副軸位相と、メモリー３２に予め記憶された第２対応情報とに基づいて、主軸歯車Ｇ０の回転数を、第２回転数として導出する。第２対応情報は、第２副軸位相と第３副軸位相との組み合わせと、主軸歯車Ｇ０の回転数とが対応付けられた情報のことである。ここで、第２対応情報の構成は、第１対応情報の構成と同様の構成であるため、説明を省略する。すなわち、実施形態において、第２対応情報は、主軸歯車Ｇ０の回転数を示す情報と、当該回転数に応じた主軸歯車Ｇ０の位相の変化量を示す情報と、主軸歯車Ｇ０と第２副軸歯車Ｇ２との間の位相差を示す情報と、主軸歯車Ｇ０と第３副軸歯車Ｇ３との間の位相差を示す情報とが対応付けられたテーブルである。
【０１２７】
導出部３６３は、このような第２対応情報を用いて、主軸歯車Ｇ０の回転数を第２回転数として導出する。具体的には、導出部３６３は、第２副軸位相と第３副軸位相との組み合わせに対応付けられた主軸歯車Ｇ０の回転数を、メモリー３２に予め記憶された第２対応情報から検出することにより、当該回転数を第２回転数として導出する。
【０１２８】
また、導出部３６３は、第３副軸位相と、第１副軸位相と、メモリー３２に予め記憶された第３対応情報とに基づいて、主軸歯車Ｇ０の回転数を、第３回転数として導出する。第３対応情報は、第３副軸位相と第１副軸位相との組み合わせと、主軸歯車Ｇ０の回転数とが対応付けられた情報のことである。ここで、第３対応情報の構成は、第１対応情報の構成と同様の構成であるため、説明を省略する。すなわち、実施形態において、第３対応情報は、主軸歯車Ｇ０の回転数を示す情報と、当該回転数に応じた主軸歯車Ｇ０の位相の変化量を示す情報と、主軸歯車Ｇ０と第３副軸歯車Ｇ３との間の位相差を示す情報と、主軸歯車Ｇ０と第１副軸歯車Ｇ１との間の位相差を示す情報とが対応付けられたテーブルである。
【０１２９】
導出部３６３は、このような第３対応情報を用いて、主軸歯車Ｇ０の回転数を第３回転数として導出する。具体的には、導出部３６３は、第３副軸位相と第１副軸位相との組み合わせに対応付けられた主軸歯車Ｇ０の回転数を、メモリー３２に予め記憶された第３対応情報から検出することにより、当該回転数を第３回転数として導出する。
【０１３０】
ステップＳ２３０の処理が行われた後、判定部３６５は、第１異常条件が満たされたか否かを判定する（ステップＳ２４０）。第１異常条件は、実施形態において、第１回転数と、第２回転数と、第３回転数とのうちの２つ以上の回転数が互いに一致していないこと、である。すなわち、判定部３６５は、ステップＳ２３０において導出された第１回転数、第２回転数、第３回転数に基づいて、第１異常条件が満たされたか否かを判定する。
【０１３１】
なお、第１異常条件は、前述した通り、第１回転数と、第２回転数と、第３回転数とのうちの２つの回転数が互いに一致していないこと、であってもよい。この場合、ロボット制御装置３０は、第１回転数と、第２回転数と、第３回転数とのうち当該２つの回転数として選択されていない回転数を、導出しない構成であってもよい。
【０１３２】
ロボット制御部３６９は、第１異常条件が満たされていないと判定部３６５が判定した場合（ステップＳ２４０−ＮＯ）、ステップＳ１２０の処理、すなわち、第１処理を終了する。なお、当該場合において第１処理を終了する処理は、制御部３６が備える各機能部のうちロボット制御部３６９以外の機能部が行う構成であってもよい。
【０１３３】
一方、ロボット制御部３６９は、第１異常条件が満たされたと判定部３６５が判定した場合（ステップＳ２４０−ＹＥＳ）、第１駆動部Ｍ１を停止させる（ステップＳ２５０）。例えば、ロボット制御部３６９は、第１駆動部Ｍ１を停止させる場合、ロボット２０が備える図示しない電力遮断部に第１駆動部Ｍ１への電力供給を遮断させる。電力遮断部は、第１駆動部Ｍ１への電力供給を遮断する部材であり、例えば、リレースイッチである。なお、電力遮断部は、リレースイッチに代えて、他のスイッチング素子であってもよい。
【０１３４】
次に、報知部３７１は、第１駆動部Ｍ１について第１異常条件が満たされていることを示す情報を報知する（ステップＳ２６０）。そして、ロボット制御部３６９は、ステップＳ１２０の処理、すなわち、第１処理を終了する。この際、ロボット制御部３６９は、図５の残りの処理を実行せず、終了する。また、この際、ロボット制御部３６９は、異常時のフローを実行してもよく、例えば、異常を記録する処理を実行してもよい。
【０１３５】
ここで、上記において説明したステップＳ２３０の処理は、前述の第１１処理、第１２処理、第１３処理それぞれの一例である。また、上記において説明したステップＳ２４０〜ステップＳ２５０の処理は、前述の第１４処理の一例である。すなわち、ロボット制御装置３０は、第１１処理と、第１２処理と、第１３処理と、第１４処理を含む第１処理を行う。これにより、ロボット制御装置３０は、ロボット２０が誤作動することを抑制することができる。
【０１３６】
なお、ロボット制御装置３０は、前述した通り、主軸歯車Ｇ０の回転数として、第１回転数と第２回転数と第３回転数との３つの回転数を算出する。これは、ロボット制御装置３０が、主軸歯車Ｇ０の回転数を実際の回転数と異なる回転数に導出してしまうことを、２つ以上の系統によって監視していることを意味する。すなわち、実施形態に係るロボット制御装置３０は、エンコーダーＥＣから出力される情報に基づいて導出される主軸歯車Ｇ０の多回転量を実際の多回転量と異なる多回転量に導出することによってロボット２０が誤作動することを、多重に監視することによって抑制しているのである。ここで、実施形態では、系統は、エンコーダーＥＣの第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３から選択可能な２つの副軸歯車の組み合わせのことを意味する。
【０１３７】
＜ステップＳ１３０の処理＞
以下、図５に示したステップＳ１３０の処理、すなわち、第３処理について説明する。図８は、図５に示したステップＳ１３０の処理の流れの一例を示す図である。ここで、図８に示したフローチャートの処理は、４つの駆動部Ｍのそれぞれについて行う。そこで、以下では、ステップＳ１３０の処理を、第１駆動部Ｍ１についての処理を例に挙げて説明する。
【０１３８】
取得部３６１は、第１駆動部Ｍ１が備えるエンコーダーＥＣの主軸位相出力部Ｓ０から第１主軸位相情報を取得する（ステップＳ３１０）。ここで、ステップＳ３１０の処理は、図６に示したステップＳ２１０の処理と同様であるため、説明を省略する。また、ロボット制御装置３０は、ステップＳ１３０の処理において、ステップＳ１２０の処理によって取得された第１主軸位相情報を用いる場合、ステップＳ３１０の処理を省略する構成であってもよい。
【０１３９】
次に、取得部３６１は、第１駆動部Ｍ１が備えるエンコーダーＥＣの第１位相出力部Ｓ１から第１副軸位相情報を取得し、当該エンコーダーＥＣの第２位相出力部Ｓ２から第２副軸位相情報を取得し、当該エンコーダーＥＣの第３位相出力部Ｓ３から第３副軸位相情報を取得する（ステップＳ３２０）。ここで、ステップＳ３２０の処理は、図６に示したステップＳ２２０の処理と同様であるため、説明を省略する。また、ロボット制御装置３０は、ステップＳ１３０の処理において、ステップＳ１２０の処理によって取得された第１副軸位相情報、第２副軸位相情報、第３副軸位相情報を用いる場合、ステップＳ３２０の処理を省略する構成であってもよい。
【０１４０】
次に、導出部３６３は、ステップＳ３２０において取得した３つの副軸位相情報に基づいて、主軸歯車Ｇ０の位相を第２主軸位相として導出する（ステップＳ３３０）。当該３つの副軸位相情報は、第１副軸位相情報、第２副軸位相情報、第３副軸位相情報のことである。
【０１４１】
ここで、ステップＳ３３０の処理について説明する。
【０１４２】
まず、第１副軸位相、第２副軸位相、第３副軸位相に基づいて、導出部３６３が第２主軸位相を導出する方法の一例について説明する。
【０１４３】
第１副軸歯車Ｇ１、第２副軸歯車Ｇ２、第３副軸歯車Ｇ３それぞれの歯は、主軸歯車Ｇ０の歯と噛み合っている。このため、第２副軸位相と第３副軸位相との組み合わせは、第１副軸歯車Ｇ１の回転数に対応付けることができる。このため、導出部３６３は、第２副軸位相と第３副軸位相との組み合わせに基づいて、第１副軸歯車Ｇ１の回転数を導出することができる。
【０１４４】
そこで、導出部３６３は、第２副軸位相と、第３副軸位相と、メモリー３２に予め記憶された第４対応情報とに基づいて、第１副軸歯車Ｇ１の回転数を導出する。第４対応情報は、第２副軸位相と第３副軸位相との組み合わせと、第１副軸歯車Ｇ１の回転数とが対応付けられた情報のことである。ただし、導出部３６３は、第１副軸歯車Ｇ１の回転数を整数として導出するため、第４対応情報において、第２副軸位相と第３副軸位相との組み合わせに対応付けられた第１副軸歯車Ｇ１の回転数は、例えば、小数点以下が切り捨てられている。なお、第４対応情報において、当該回転数の小数点以下の取り扱い方法は、四捨五入等の他の方法であってもよい。
【０１４５】
図９は、第４対応情報の一例を示す図である。図９に示した例では、第４対応情報は、第２副軸位相と第３副軸位相との組み合わせと、第１副軸歯車Ｇ１の回転数とが対応付けられたテーブルである。また、当該テーブルでは、第１副軸歯車Ｇ１の回転数を示す情報と、第２副軸歯車Ｇ２と第１副軸歯車Ｇ１との間の位相差を示す情報と、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１との間の位相差を示す情報とが対応付けられている。ここで、第２副軸歯車Ｇ２と第１副軸歯車Ｇ１との間の位相差は、第２副軸位相の代わりとして用いることができる。このため、当該テーブルには、第２副軸位相を示す情報に代えて、第２副軸歯車Ｇ２と第１副軸歯車Ｇ１との間の位相差を示す情報が含まれている。また、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１との間の位相差は、第３副軸位相の代わりとして用いることができる。このため、当該テーブルには、第３副軸位相を示す情報に代えて、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１との間の位相差を示す情報が含まれている。
【０１４６】
また、図９に示したテーブルでは、第２副軸歯車Ｇ２と第１副軸歯車Ｇ１との間の位相差を示す情報は、第２副軸歯車Ｇ２の歯数によって表されている。例えば、実施形態では、第２副軸歯車Ｇ２の歯数が１９歯であり、第１副軸歯車Ｇ１の歯数が１７歯である。このため、第１副軸歯車Ｇ１の回転数が１回転の場合、第１副軸位相よりも第２副軸位相の方が、第２副軸歯車Ｇ２の歯にして２歯分小さくなる。すなわち、第２副軸歯車Ｇ２は、第１副軸歯車Ｇ１よりも第２副軸歯車Ｇ２の歯にして２歯分少なく回転している。換言すると、第２副軸歯車Ｇ２と第１副軸歯車Ｇ１との間の位相差は、第２副軸歯車Ｇ２の歯にして−２歯である。そこで、当該テーブルでは、当該位相差を示す情報は、「−２歯」と表されている。
【０１４７】
また、図９に示したテーブルでは、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１との間の位相差を示す情報は、第３副軸歯車Ｇ３の歯数によって表されている。例えば、実施形態では、第３副軸歯車Ｇ３の歯数が２３歯であり、第１副軸歯車Ｇ１の歯数が１７歯である。このため、第１副軸歯車Ｇ１の回転数が１回転の場合、第１副軸位相よりも第３副軸位相の方が、第３副軸歯車Ｇ３の歯にして６歯分小さくなる。すなわち、第３副軸歯車Ｇ３は、第１副軸歯車Ｇ１よりも第３副軸歯車Ｇ３の歯にして６歯分少なく回転している。換言すると、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１との間の位相差は、第３副軸歯車Ｇ３の歯にして−６歯である。そこで、当該テーブルでは、当該位相差を示す情報は、「−６歯」と表されている。
【０１４８】
なお、図９に示したテーブルでは、第２副軸歯車Ｇ２と第１副軸歯車Ｇ１との間の位相差は、第２副軸歯車Ｇ２の歯数によって表す構成に代えて、当該位相差を示す他の情報によって表されてもよい。また、当該テーブルでは、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１との間の位相差は、第３副軸歯車Ｇ３の歯数によって表す構成に代えて、当該位相差を示す他の情報によって表されてもよい。また、第４対応情報は、テーブルに代えて、第２副軸位相と第３副軸位相との組み合わせと、第１副軸歯車Ｇ１の回転数とが対応付けられた他の情報であってもよい。
【０１４９】
導出部３６３は、このような第４対応情報を用いて、第１副軸歯車Ｇ１の回転数を導出する。具体的には、導出部３６３は、第２副軸位相と第３副軸位相との組み合わせに対応付けられた第１副軸歯車Ｇ１の回転数を、メモリー３２に予め記憶された第４対応情報から検出することにより、当該回転数を導出する。
【０１５０】
そして、導出部３６３は、導出した第１副軸歯車Ｇ１の回転数と、第１副軸位相とに基づいて、第１副軸歯車Ｇ１の回転数と第１副軸位相とを足し合わせた値を、第１副軸歯車Ｇ１の多回転量として導出することができる。
【０１５１】
ここで、主軸歯車Ｇ０は、第１副軸歯車Ｇ１よりも（（第１副軸歯車Ｇ１の歯数）／（主軸歯車Ｇ０の歯数））倍の角速度で回転する。このため、第１副軸歯車Ｇ１の多回転量を（（第１副軸歯車Ｇ１の歯数）／（主軸歯車Ｇ０の歯数））倍した値は、主軸歯車Ｇ０の多回転量と一致する。また、主軸歯車Ｇ０は、主軸歯車Ｇ０の歯が原点から主軸歯車Ｇ０の歯数分移動することによって１回転する。このため、主軸歯車Ｇ０の位相は、（（主軸歯車Ｇ０の多回転量）ｍｏｄ（主軸歯車Ｇ０の歯数））と一致する。換言すると、主軸歯車Ｇ０の位相は、（（（第１副軸歯車Ｇ１の歯数）／（主軸歯車Ｇ０の歯数））ｍｏｄ（主軸歯車Ｇ０の歯数））と一致する。
【０１５２】
以上のことから、導出部３６３は、導出した第１副軸歯車Ｇ１の多回転量に基づいて、主軸歯車Ｇ０の位相を、第２主軸位相として導出する。すなわち、導出部３６３は、ステップＳ３３０において、ステップＳ３２０において取得した３つの副軸位相情報に基づいて、主軸歯車Ｇ０の位相を第２主軸位相として導出する。なお、このような第２主軸位相を導出する方法において、第１副軸歯車Ｇ１の役割は、第２副軸歯車Ｇ２の役割と入れ替えてもよく、第３副軸歯車Ｇ３の役割と入れ替えてもよい。
【０１５３】
ここで、図１０は、このような第２主軸位相を導出する流れの一例を示す図である。図１０に示したように、第２主軸位相は、第１副軸歯車Ｇ１の多回転量に基づいて導出される。第１副軸歯車Ｇ１の多回転量は、第１副軸位相と、第１副軸歯車Ｇ１の回転数とに基づいて導出される。第１副軸歯車Ｇ１の回転数は、第２副軸位相と、第３副軸位相とに基づいて導出される。
【０１５４】
ステップＳ３３０の処理が行われた後、判定部３６５は、第３異常条件が満たされたか否かを判定する（ステップＳ３４０）。第３異常条件は、前述した通り、第１主軸位相と、第２主軸位相とが互いに一致していないこと、である。すなわち、判定部３６５は、ステップＳ３３０において導出された第２主軸位相に基づいて、第３異常条件が満たされたか否かを判定する。
【０１５５】
ロボット制御部３６９は、第３異常条件が満たされていないと判定部３６５が判定した場合（ステップＳ３４０−ＮＯ）、ステップＳ１３０の処理、すなわち、第３処理を終了する。なお、当該場合において第３処理を終了する処理は、制御部３６が備える各機能部のうちロボット制御部３６９以外の機能部が行う構成であってもよい。
【０１５６】
一方、ロボット制御部３６９は、第３異常条件が満たされたと判定部３６５が判定した場合（ステップＳ３４０−ＹＥＳ）、第１駆動部Ｍ１を停止させる（ステップＳ３５０）。ステップＳ３５０の処理は、図６に示したステップＳ２５０の処理と同様の処理であるため、説明を省略する。
【０１５７】
次に、報知部３７１は、第１駆動部Ｍ１について第３異常条件が満たされていることを示す情報を報知する（ステップＳ３６０）。そして、ロボット制御部３６９は、ステップＳ１３０の処理、すなわち、第３処理を終了する。この際、ロボット制御部３６９は、図５の残りの処理を実行せず、終了する。また、この際、ロボット制御部３６９は、異常時のフローを実行してもよく、例えば、異常を記録する処理を実行してもよい。
【０１５８】
ここで、上記において説明したステップＳ３３０の処理は、前述の第３１処理の一例である。また、上記において説明したステップＳ３４０〜ステップＳ３５０の処理は、前述の第３２処理の一例である。すなわち、ロボット制御装置３０は、第３１処理と、第３２処理を含む第３処理を行う。これにより、ロボット制御装置３０は、ロボット２０が誤作動することを抑制することができる。
【０１５９】
なお、ロボット制御装置３０は、前述した通り、主軸歯車Ｇ０の位相として、主軸位相出力部Ｓ０が特定した第１主軸位相とは別に、導出した第１副軸歯車Ｇ１の多回転量に基づいて第２主軸位相を導出する。これは、ロボット制御装置３０が、主軸歯車Ｇ０の位相を実際の位相と異なる位相に導出してしまうことを、主軸歯車Ｇ０と第１副軸歯車Ｇ１との組み合わせによって監視していることを意味する。すなわち、実施形態に係るロボット制御装置３０は、エンコーダーＥＣから出力される情報に基づいて導出される主軸歯車Ｇ０の多回転量を実際の多回転量と異なる多回転量に導出することによってロボット２０が誤作動することを、当該組み合わせによって監視することにより抑制しているのである。
【０１６０】
また、ロボット制御装置３０は、主軸歯車Ｇ０の位相を実際の位相と異なる位相に導出してしまうことを、主軸歯車Ｇ０と第１副軸歯車Ｇ１との組み合わせと、主軸歯車Ｇ０と第２副軸歯車Ｇ２との組み合わせと、主軸歯車Ｇ０と第３副軸歯車Ｇ３との組み合わせとのそれぞれによって監視する構成であってもよい。すなわち、ロボット制御装置３０は、図８に示したフローチャートの処理と同様の処理によって、主軸歯車Ｇ０の位相を実際の位相と異なる位相に導出してしまうことを、主軸歯車Ｇ０と第２副軸歯車Ｇ２との組み合わせによって監視するとともに、主軸歯車Ｇ０の位相を実際の位相と異なる位相に導出してしまうことを、主軸歯車Ｇ０と第３副軸歯車Ｇ３との組み合わせによって監視する構成であってもよい。
【０１６１】
＜ステップＳ１７０の処理＞
以下、図１１に示したステップＳ１７０の処理、すなわち、第２処理について説明する。図１１は、図５に示したステップＳ１７０の処理の流れの一例を示す図である。ここで、図１１に示したフローチャートの処理は、４つの駆動部Ｍのそれぞれについて行う。また、図１１に示したフローチャートの処理は、ある駆動部Ｍが備えるエンコーダーＥＣの第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のそれぞれについて行う。そこで、以下では、ステップＳ１７０の処理を、第１駆動部Ｍ１の第１副軸歯車Ｇ１についての処理を例に挙げて説明する。
【０１６２】
取得部３６１は、直前に取得部３６１が取得した第１主軸位相情報を、旧第１主軸位相情報としてメモリー３２に記憶させる。そして、取得部３６１は、第１駆動部Ｍ１が備えるエンコーダーＥＣの主軸位相出力部Ｓ０から、新たな第１主軸位相情報を新第１主軸位相情報として取得する（ステップＳ４１０）。ここで、取得部３６１は、メモリー３２に旧第１主軸位相情報が既に記憶されている場合、メモリー３２に記憶されている旧第１主軸位相情報を、新たな旧第１主軸位相情報に置き換える。
【０１６３】
次に、取得部３６１は、直前に取得部３６１が取得した第１副軸位相情報を、旧第１副軸位相情報としてメモリー３２に記憶させる。そして、取得部３６１は、第１駆動部Ｍ１が備えるエンコーダーＥＣの第１位相出力部Ｓ１から、新たな第１副軸位相情報を新第１副軸位相情報として取得する（ステップＳ４２０）。ここで、取得部３６１は、メモリー３２に旧第１副軸位相情報が既に記憶されている場合、メモリー３２に記憶されている旧第１副軸位相情報を、新たな旧第１副軸位相情報に置き換える。
【０１６４】
次に、導出部３６３は、第１１変化量を導出する（ステップＳ４３０）。第１１変化量は、第１主軸位相に基づいて導出される第１副軸位相の変化量のことである。
【０１６５】
ここで、ステップＳ４３０の処理について説明する。まず、第１１変化量を導出する方法について説明する。ある歯車ｇ１と他の歯車ｇ２とが噛み合っている場合、歯車ｇ１の位相の変化量Δθ１と歯車ｇ２の位相の変化量Δθ２との間には、以下に示した式（１）のような関係が成り立つ。
【０１６６】
Δθ２＝（ｈ１／ｈ２）×Δθ１  ・・・（１）
【０１６７】
上記の式（１）におけるｈ１は、歯車ｇ１の歯数を示す。また、上記の式（１）におけるｈ２は、歯車ｇ２の歯数を示す。
【０１６８】
導出部３６３は、第１主軸位相の変化量をΔθ１に代入し、主軸歯車Ｇ０の歯数をｈ１に代入し、第１副軸歯車Ｇ１の歯数をｈ２に代入することにより、式（１）に示した関係を用いて、第１副軸位相の変化量を導出することができる。ここで、図１２は、主軸歯車Ｇ０と第１副軸歯車Ｇ１とΔθ１とΔθ２の関係の一例を示す図である。例えば、実施形態において第１主軸位相の変化量が３６０°であった場合、導出部３６３は、第１副軸位相の変化量を、上記の式（１）に基づいて約４２３°と導出する。このような方法により、導出部３６３は、第１副軸位相の変化量を、第１１変化量として導出する。
【０１６９】
次に、導出部３６３が第１主軸位相の変化量を導出する処理について説明する。導出部３６３は、メモリー３２に記憶されている旧第１主軸位相情報をメモリー３２から読み出す。導出部３６３は、読み出した旧第１主軸位相情報が示す第１主軸位相を、ステップＳ４１０において取得部３６１が取得した新第１主軸位相情報が示す第１主軸位相から差し引いた値を、第１主軸位相の変化量として導出する。導出部３６３は、このようにして導出した第１主軸位相の変化量を、上記のΔθ１に代入し、第１１変化量を導出する。
【０１７０】
なお、第２副軸歯車Ｇ２についてステップＳ４３０の処理を行った場合において導出部３６３が導出する第１１変化量は、第２１変化量の一例である。また、第３副軸歯車Ｇ３についてステップＳ４３０の処理を行った場合において導出部３６３が導出する第１１変化量は、第３１変化量の一例である。
【０１７１】
ステップＳ４３０の処理が行われた後、導出部３６３は、第１２変化量を導出する（ステップＳ４４０）。第１２変化量は、第１副軸位相に基づいて導出される第１副軸位相の変化量のことである。具体的には、導出部３６３は、メモリー３２に記憶されている旧第１副軸位相情報をメモリー３２から読み出す。導出部３６３は、読み出した旧第１副軸位相情報が示す第１副軸位相を、ステップＳ４２０において取得部３６１が取得した新第１副軸位相情報が示す第１副軸位相から差し引いた値を、第１２変化量として導出する。すなわち、当該値は、第１副軸位相に基づいて導出された第１副軸位相の変化量である。
【０１７２】
なお、第２副軸歯車Ｇ２についてステップＳ４４０の処理を行った場合において導出部３６３が導出する第１２変化量は、第２２変化量の一例である。また、第３副軸歯車Ｇ３についてステップＳ４４０の処理を行った場合において導出部３６３が導出する第１２変化量は、第３２変化量の一例である。
【０１７３】
次に、判定部３６５は、第２異常条件が満たされたか否かを判定する（ステップＳ４５０）。第２異常条件は、第１１変化量と第１２変化量とが互いに一致していないこと、である。すなわち、判定部３６５は、ステップＳ４３０において導出された第１１変化量と、ステップＳ４４０において導出された第１２変化量とに基づいて、第２異常条件が満たされたか否かを判定する。
【０１７４】
ロボット制御部３６９は、第２異常条件が満たされていないと判定部３６５が判定した場合（ステップＳ４５０−ＮＯ）、ステップＳ１７０の処理、すなわち、第２処理を終了する。なお、当該場合において第２処理を終了する処理は、制御部３６が備える各機能部のうちロボット制御部３６９以外の機能部が行う構成であってもよい。
【０１７５】
一方、ロボット制御部３６９は、第２異常条件が満たされたと判定部３６５が判定した場合（ステップＳ４５０−ＹＥＳ）、第１駆動部Ｍ１を停止させる（ステップＳ４６０）。ステップＳ４６０の処理は、図６に示したステップＳ２５０の処理と同様の処理であるため、説明を省略する。
【０１７６】
次に、報知部３７１は、第１駆動部Ｍ１について第２異常条件が満たされていることを示す情報を報知する（ステップＳ４７０）。そして、ロボット制御部３６９は、ステップＳ１７０の処理、すなわち、第２処理を終了する。この際、ロボット制御部３６９は、図５の残りの処理を実行せず、終了する。また、この際、ロボット制御部３６９は、異常時のフローを実行してもよく、例えば、異常を記録する処理を実行してもよい。
【０１７７】
このように、第２処理では、テーブルを用いた処理を行わない。このため、第２処理は、第１処理、第３処理のそれぞれと比較して、導出部３６３が行う処理の負荷が小さい。すなわち、ロボット制御装置３０は、１回目の第１処理及び第３処理が行われた後において、第２処理を行うことにより、第１処理及び第３処理を行う場合と比較して、ロボット２０が動作している間においてロボット制御装置３０が行う処理の負荷を低減することができる。
【０１７８】
なお、制御部３６は、上記において説明した第１所定時間と第２所定時間とのうちのいずれか一方又は両方を、ロボット制御装置３０がユーザーから受け付ける操作、ロボット２０の動作等に応じて変更できる構成であってもよい。
【０１７９】
また、ある駆動部ＭのエンコーダーＥＣについて行われる第２処理は、当該駆動部Ｍの第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のそれぞれについて行う構成に代えて、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のうちの一部の副軸歯車について行う構成であってもよい。ただし、この場合、当該一部の副軸歯車に含まれない副軸歯車に関する異常が発生した場合、第２処理では、駆動部Ｍを停止させることができず、更に、第２異常条件が満たされたことを示す情報を報知することもできない。このため、当該第２処理は、当該駆動部Ｍの第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のそれぞれについて行う方が望ましい。
【０１８０】
また、上記の式（１）に示した関係は、前述の歯車ｇ１と歯車ｇ２とが、他の歯車ｇ３を介して噛み合っている場合にも成り立つ。例えば、第１副軸歯車Ｇ１と第２副軸歯車Ｇ２とは、主軸歯車Ｇ０を介して噛み合っている。このため、第１副軸位相の変化量と第２副軸位相の変化量とは、上記の式（１）の関係を満たす。また、例えば、第２副軸歯車Ｇ２と第３副軸歯車Ｇ３とは、主軸歯車Ｇ０を介して噛み合っている。このため、第２副軸位相の変化量と第３副軸位相の変化量とは、上記の式（１）の関係を満たす。また、例えば、第３副軸歯車Ｇ３と第１副軸歯車Ｇ１とは、主軸歯車Ｇ０を介して噛み合っている。このため、第３副軸位相の変化量と第１副軸位相の変化量とは、上記の式（１）の関係を満たす。
【０１８１】
このような事情から、第２処理は、第４１変化量を導出する処理と、第４２変化量を導出する処理と、第５異常条件が満たされているか否かを判定する処理と、第５異常条件が満たされていない場合において駆動部Ｍを停止させる処理と、当該場合において第５異常条件が満たされていないことを報知する処理とを含む構成であってもよい。ここで、第４１変化量は、第２副軸位相に基づいて導出される第１副軸位相の変化量のことである。また、第４２変化量は、第１副軸位相に基づいて導出される第１副軸位相の変化量のことである。また、第５異常条件は、第４１変化量と第４２変化量とが互いに一致していないこと、である。なお、第４１変化量を導出する方法については、主軸歯車Ｇ０を第２副軸歯車Ｇ２に置き換えた場合の第１１変化量を導出する方法の説明と同様であるため、説明を省略する。
【０１８２】
また、第２処理は、第５１変化量を導出する処理と、第５２変化量を導出する処理と、第６異常条件が満たされているか否かを判定する処理と、第６異常条件が満たされていない場合において駆動部Ｍを停止させる処理と、当該場合において第６異常条件が満たされていないことを報知する処理とを含む構成であってもよい。ここで、第５１変化量は、第３副軸位相に基づいて導出される第２副軸位相の変化量のことである。また、第５２変化量は、第２副軸位相に基づいて導出される第２副軸位相の変化量のことである。また、第６異常条件は、第５１変化量と第５２変化量とが互いに一致していないこと、である。なお、第５１変化量を導出する方法については、主軸歯車Ｇ０を第３副軸歯車Ｇ３に置き換え、且つ、第１副軸歯車Ｇ１を第２副軸歯車Ｇ２に置き換えた場合の第１１変化量を導出する方法の説明と同様であるため、説明を省略する。
【０１８３】
また、第２処理は、第６１変化量を導出する処理と、第６２変化量を導出する処理と、第７異常条件が満たされているか否かを判定する処理と、第７異常条件が満たされていない場合において駆動部Ｍを停止させる処理と、当該場合において第７異常条件が満たされていないことを報知する処理とを含む構成であってもよい。ここで、第６１変化量は、第１副軸位相に基づいて導出される第３副軸位相の変化量のことである。また、第６２変化量は、第３副軸位相に基づいて導出される第３副軸位相の変化量のことである。また、第７異常条件は、第６１変化量と第６２変化量とが互いに一致していないこと、である。なお、第６１変化量を導出する方法については、主軸歯車Ｇ０を第１副軸歯車Ｇ１に置き換え、且つ、第１副軸歯車Ｇ１を第３副軸歯車Ｇ３に置き換えた場合の第１１変化量を導出する方法の説明と同様であるため、説明を省略する。
【０１８４】
＜実施形態の変形例＞
以下、実施形態の変形例について説明する。
【０１８５】
上記において説明したエンコーダーＥＣは、主軸歯車Ｇ０と、第１副軸歯車Ｇ１と、第２副軸歯車Ｇ２と、第３副軸歯車Ｇ３とに加えて、１以上の副軸歯車を備える構成であってもよい。この場合、当該１以上の副軸歯車は、主軸歯車Ｇ０と噛み合うように、且つ、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のそれぞれと噛み合わないようにエンコーダーＥＣに設けられる。
【０１８６】
例えば、エンコーダーＥＣは、主軸歯車Ｇ０と第１副軸歯車Ｇ１と第２副軸歯車Ｇ２と第３副軸歯車Ｇ３とに加えて、４つ目の副軸歯車である図示しない第４副軸歯車Ｇ４を備える構成であってもよい。この場合、エンコーダーＥＣでは、４つの副軸歯車の中から選択可能な２つの副軸歯車の組み合わせの数は、６である。また、当該場合、エンコーダーＥＣでは、４つの副軸歯車の中から選択可能な３つの副軸歯車の組み合わせの数は、４である。これら１０の組み合わせのそれぞれを系統と称した場合、第１処理において第１回転数〜第３回転数のそれぞれを導出する方法と同様の方法によって、系統毎に主軸歯車Ｇ０の回転数を導出することができる。このような場合、制御部３６は、系統毎の回転数に基づいて、系統毎の回転数のうちの２つ以上の回転数が互いに一致していないか否かを判定する。これにより、ロボット制御装置３０は、第１処理と同様の処理を行うことができ、ロボット２０が誤作動することを抑制することができる。
【０１８７】
なお、制御部３６は、系統毎の回転数に基づいて、系統毎の回転数のうちの過半数以上の回転数が一致している回転数を特定する構成であってもよい。この場合、制御部３６は、第１副軸歯車Ｇ１〜第４副軸歯車Ｇ４のうち副軸歯車に関する以上が発生している副軸歯車を特定することができる。その結果。制御部３６は、ロボット２０に動作を継続させる必要があるか否かを判定することができ、ロボット２０が誤作動することを抑制することができる。
【０１８８】
ここで、第４副軸歯車Ｇ４の歯数は、主軸歯車Ｇ０の歯数と同じ歯数であってもよく、第１副軸歯車Ｇ１〜第３副軸歯車Ｇ３のうちのいずれかの歯数と同じ歯数であってもよい。
【０１８９】
また、上記において説明した主軸位相出力部Ｓ０は、第１主軸位相を検出するセンサーに代えて、制御部３６が備える機能部のうち数理モデルに基づいて主軸歯車Ｇ０の位相を導出し、導出した当該位相を第１主軸位相として推定する機能部であってもよい。この場合、エンコーダーＥＣは、当該センサーが設けられる構成であってもよく、当該センサーが設けられない構成であってもよい。当該数理モデルは、駆動部Ｍの回動軸と、当該回動軸に取り付けられた負荷との回転運動を記述する運動方程式に基づくモデルであり、駆動部Ｍに回動軸を回転させる指令電流を入力した場合、当該回動軸の位相を推定し、推定した位相を出力するモデルである。なお、当該数理モデルには、当該負荷を導出するモデルが含まれてもよく、当該負荷を導出するモデルが含まれなくてもよい。また、当該数理モデルは、運動方程式に基づくモデルに代えて、テーブルを用いたモデル等の他の導出方法に基づくモデルであってもよい。
【０１９０】
主軸位相出力部Ｓ０がこのような数理モデルであった場合、制御部３６は、主軸位相出力部Ｓ０が出力した第１主軸位相に基づいて、第１処理を行う。すなわち、ロボット制御装置３０は、当該場合であっても、第１処理によって、ロボット２０が誤作動することを抑制することができる。なお、当該数理モデルは、入力として前述の指令電流を用いる構成に代えて、主軸歯車Ｇ０の位相を特定可能な情報を検出する他のセンサーから取得した当該情報を入力として用いる構成であってもよい。
【０１９１】
また、上記において説明した第１異常条件〜第７異常条件のうちの一部又は全部は、測定誤差を許容してもよく、許容しなくてもよい。
【０１９２】
また、前述した通り、上記において説明した制御部３６が有する機能のうち図５に示したフローチャートの処理を行う機能は、ロボット２０、情報処理装置４０、エンコーダーＥＣ等に備えられる構成であってもよい。例えば、当該機能が情報処理装置４０に備えられる場合、情報処理装置４０は、例えば、プロセッサーを備え、情報処理装置４０が備える制御部４１は、図１３に示したように、取得部３６１と、導出部３６３と、判定部３６５と、計時部３６７と、報知部３７１を備える。図１３は、制御部４１の機能構成の一例を示す図である。なお、情報処理装置４０が備える制御部４１は、取得部３６１と、導出部３６３と、判定部３６５を備え、計時部３６７、報知部３７１を備えない構成としてもよい。また、例えば、当該機能がエンコーダーＥＣに備えられる場合、エンコーダーＥＣは、例えば、プロセッサーを備え、エンコーダーＥＣが備える制御部は、取得部３６１と、導出部３６３と、判定部３６５と、計時部３６７と、報知部３７１を備える。なお、エンコーダーＥＣが備える制御部は、取得部３６１と、導出部３６３と、判定部３６５を備え、計時部３６７、報知部３７１を備えない構成としてもよい。これらにより、ロボット制御装置３０等が当該機能を持たない場合であっても、当該機能を有した情報処理装置４０やエンコーダーＥＣを用いるだけで当該機能を実行できる。更に、当該機能は、ロボット２０、ロボット制御装置３０、情報処理装置４０、エンコーダーＥＣ等に、分けて備えられる構成であってもよい。例えば、当該機能がエンコーダーＥＣとロボット制御装置３０とに備えられる場合、エンコーダーＥＣが、取得部３６１と、導出部３６３とを備え、ロボット制御装置３０が、判定部３６５と、計時部３６７と、報知部３７１とを備えてもよい。
【０１９３】
また、上記において説明したロボット制御装置３０は、前述した通り、ロボット２０と異なるロボットに備えられる構成であってもよい。例えば、ロボット制御装置３０は、図１４に示したロボット２１に備えられる構成であってもよい。図１４は、ロボット２０に代えてロボット２１を備えるロボットシステム１の構成の一例を示す図である。
【０１９４】
図１４に示した例では、ロボット２１は、ロボット制御装置３０と、情報処理装置４０を内蔵している。
【０１９５】
ロボット２１は、前述の双腕ロボットである。図１４に示したように、ロボット２１は、２つの腕を備える。
【０１９６】
ロボット２１が備える２つの腕のそれぞれには、７つの関節が設けられている。また、当該７つの関節のそれぞれには、駆動部Ｍが備えられている。なお、図１４において、駆動部Ｍは、図を簡略化するため、省略している。なお、当該２つの腕のうちのいずれか一方又は両方は、７つよりも少ない関節が設けられている構成であってもよく、７つよりも多い関節が設けられている構成であってもよい。
【０１９７】
これにより、ロボット制御装置３０は、ロボット２１に内蔵された場合であっても、第１処理と第３処理との少なくとも一方を行うことができ、その結果、ロボットが誤作動することを抑制することができる。
【０１９８】
以上説明したように、実施形態に係るロボットシステムは、駆動部の回動軸に取り付けられる主軸歯車、主軸歯車と噛み合う第１副軸歯車、主軸歯車と噛み合う第２副軸歯車、主軸歯車と噛み合う第３副軸歯車とを有するロボットと、主軸歯車の位相を第１主軸位相として出力する主軸位相出力部と、を備え、第１副軸歯車の位相と、第２副軸歯車の位相と、第３副軸歯車の位相とに基づいて、主軸歯車の位相を第２主軸位相として導出し、第１主軸位相と第２主軸位相とが一致していない場合、駆動部を停止させる処理を行う。これにより、ロボットシステムは、実際の回転数と異なる回転数が導出されているか否かを判定でき、ロボットが誤作動することを抑制することができる。ここで、上記において説明した例では、当該ロボットシステムは、ロボットシステム１である。また、上記において説明した例では、当該駆動部は、駆動部Ｍである。また、上記において説明した例では、当該主軸歯車は、主軸歯車Ｇ０である。また、上記において説明した例では、当該第１副軸歯車は、第１副軸歯車Ｇ１である。また、上記において説明した例では、当該第２副軸歯車は、第２副軸歯車Ｇ２である。また、上記において説明した例では、当該第３副軸歯車は、第３副軸歯車Ｇ３である。また、上記において説明した例では、当該ロボットは、ロボット２０である。また、上記において説明した例では、主軸位相出力部は、主軸位相出力部Ｓ０である。
【０１９９】
また、ロボットシステムでは、ロボットに電源が投入されてからロボットが動き出すまでの間において、当該処理を行う、構成が用いられてもよい。
【０２００】
また、ロボットシステムは、第１副軸歯車の位相を出力する第１位相出力部を備え、第２処理として、主軸位相出力部が出力した第１主軸位相に基づいて、第１副軸歯車の位相の変化量を第１１変化量として導出し、第１位相出力部が出力した第１副軸歯車の位相の変化量を第１２変化量として導出し、第１１変化量と第１２変化量とが一致していない場合、駆動部を停止させ、１回目の前記処理が行われた後において、第２処理を行う、構成が用いられてもよい。ここで、上記において説明した例では、第１位相出力部は、第１位相出力部Ｓ１である。
【０２０１】
また、ロボットシステムは、第２副軸歯車の位相を出力する第２位相出力部と、第３副軸歯車の位相を出力する第３位相出力部と、を備え、第２処理は更に、、主軸位相出力部が出力した第１主軸位相に基づいて、第２副軸歯車の位相の変化量を第２１変化量として導出し、主軸位相出力部が出力した第１主軸位相に基づいて、第３副軸歯車の位相の変化量を第３１変化量として導出し、第２位相出力部が出力した第２副軸歯車の位相の変化量を第２２変化量として導出し、第３位相出力部が出力した第３副軸歯車の位相の変化量を第３２変化量として導出し、第２１変化量と第２２変化量とが一致していない場合、駆動部を停止させ、第３１変化量と第３２変化量とが一致していない場合、駆動部を停止させる、構成が用いられてもよい。ここで、上記において説明した例では、第２位相出力部は、第２位相出力部Ｓ２である。また、上記において説明した例では、第３位相出力部は、第３位相出力部Ｓ３である。
【０２０２】
また、ロボットシステムでは、主軸位相出力部は、数理モデルに基づいて、第１主軸位相を出力する、構成が用いられてもよい。
【０２０３】
また、ロボットシステムは、１回目の当該処理が行われた後において、所定の条件が満たされるか判定し、所定の条件が満たされた場合に当該処理を行う、構成が用いられてもよい。ここで、上記において説明した例では、所定の条件は、第１所定時間が経過すること、である。
【０２０４】
また、ロボットシステムでは、所定の条件は、所定時間が経過することである、構成が用いられてもよい。ここで、上記において説明した例では、所定時間は、第１所定時間である。
【０２０５】
また、ロボットシステムでは、ロボットは、第４副軸歯車を更に備える、構成が用いられてもよい。ここで、上記において説明した例では、第４副軸歯車は、第４副軸歯車Ｇ４である。
【０２０６】
また、ロボットシステムでは、ロボットは、ロボットへの電力供給を遮断する電力遮断部を備え、駆動部を停止させる場合、電力遮断部にロボットへの電力供給を遮断させる、構成が用いられてもよい。
【０２０７】
また、ロボットシステムでは、当該処理は更に、第１主軸位相と、第２主軸位相とが一致していない場合、第１主軸位相と、第２主軸位相とが一致していないことを示す情報を報知する、構成が用いられてもよい。
【０２０８】
また、実施形態に係るロボットシステムは、駆動部の回動軸に取り付けられる主軸歯車、主軸歯車と噛み合う第１副軸歯車、主軸歯車と噛み合う第２副軸歯車、及び主軸歯車と噛み合う第３副軸歯車を有するロボット、を備えたロボットシステムであって、主軸歯車の歯数、第１副軸歯車の歯数、第２副軸歯車の歯数、及び第３副軸歯車の歯数は、１以外の最大公約数を持たない整数であり、第１処理として、第１副軸歯車の位相と第２副軸歯車の位相とに基づいて、主軸歯車の回転数である第１回転数を導出し、第２副軸歯車の位相と第３副軸歯車の位相とに基づいて、主軸歯車の回転数である第２回転数を導出し、第１回転数と第２回転数とが一致していない場合に、駆動部を停止させる。これにより、ロボットシステムは、実際の位相と異なる位相が検出されているか否かを判定でき、ロボットが誤作動することを抑制することができる。ここで、上記において説明した例では、当該ロボットシステムは、ロボットシステム１である。また、上記において説明した例では、当該駆動部は、駆動部Ｍである。また、上記において説明した例では、当該主軸歯車は、主軸歯車Ｇ０である。また、上記において説明した例では、当該第１副軸歯車は、第１副軸歯車Ｇ１である。また、上記において説明した例では、当該第２副軸歯車は、第２副軸歯車Ｇ２である。また、上記において説明した例では、当該第３副軸歯車は、第３副軸歯車Ｇ３である。また、上記において説明した例では、当該ロボットは、ロボット２０である。
【０２０９】
また、ロボットシステムでは、第１処理は、第３副軸歯車の位相と第１副軸歯車の位相とに基づいて、主軸歯車の回転数である第３回転数を導出し、第１回転数、第２回転数、及び前記第３回転数が一致していない場合に、前記駆動部を停止させる、構成が用いられてもよい。
【０２１０】
また、ロボットシステムでは、第１処理は更に、第１回転数、第２回転数、及び第３回転数が一致していない場合、第１回転数、第２回転数、及び第３回転数が一致していないことを示す情報を報知する、構成が用いられてもよい。
【０２１１】
また、ロボットシステムでは、ロボットに電源が投入されてからロボットが動き出すまでの間において、第１処理を行う、構成が用いられてもよい。
【０２１２】
また、ロボットシステムは、主軸歯車の位相を第１主軸位相として出力する主軸位相出力部と、第１副軸歯車の位相を出力する第１位相出力部と、を備え、第２処理として、主軸位相出力部が出力した第１主軸位相に基づいて、第１副軸歯車の位相の変化量を第１１変化量として導出し、第１位相出力部が出力した第１副軸歯車の位相の変化量を第１２変化量として導出し、第１１変化量と第１２変化量とが互いに一致していない場合、駆動部を停止させ、１回目の第１処理が行われた後に、第２処理を行う、構成が用いられてもよい。ここで、上記において説明した例では、主軸位相出力部は、主軸位相出力部Ｓ０である。また、上記において説明した例では、第１位相出力部は、第１位相出力部Ｓ１である。
【０２１３】
また、ロボットシステムは、第２副軸歯車の位相を出力する第２位相出力部と、第３副軸歯車の位相を出力する第３位相出力部と、を備え、第２処理は更に、主軸位相出力部が出力した第１主軸位相に基づいて、第２位相の変化量を第２１変化量として導出し、主軸位相出力部が出力した第１主軸位相に基づいて、第３位相の変化量を第３１変化量として導出し、第２位相出力部が出力した第２副軸歯車の位相の変化量を第２２変化量として導出し、第３位相出力部が出力した第３副軸歯車の位相の変化量を第３２変化量として導出し、第２１変化量と第２２変化量とが一致していない場合、駆動部を停止させ、第３１変化量と第３２変化量とが一致していない場合、駆動部を停止させる、構成が用いられてもよい。ここで、上記において説明した例では、第２位相出力部は、第２位相出力部Ｓ２である。また、上記において説明した例では、第３位相出力部は、第３位相出力部Ｓ３である。
【０２１４】
また、ロボットシステムでは、主軸位相出力部は、数理モデルに基づいて、第１主軸位相を出力する、構成が用いられてもよい。
【０２１５】
また、ロボットシステムでは、１回目の前記第１処理が行われた後において、所定の条件が満たされるか判定し、所定の条件が満たされた場合に前記第１処理を行う、構成が用いられてもよい。ここで、上記において説明した例では、所定の条件は、第１所定時間が経過すること、である。
【０２１６】
また、ロボットシステムでは、所定の条件は、所定時間が経過することである、構成が用いられてもよい。ここで、上記において説明した例では、所定時間は、第１所定時間である。
【０２１７】
また、ロボットシステムでは、ロボットは、第４副軸歯車を更に備える、構成が用いられてもよい。ここで、上記において説明した例では、第４副軸歯車は、第４副軸歯車Ｇ４である。
【０２１８】
また、ロボットシステムでは、ロボットは、ロボットへの電力供給を遮断する電力遮断部を備え、駆動部を停止させる場合、電力遮断部に前記ロボットへの電力供給を遮断させる、構成が用いられてもよい。
【０２１９】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０２２０】
また、以上に説明した装置における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。ここで、当該装置は、例えば、ロボット２０、ロボット２１、ロボット制御装置３０、情報処理装置４０、エンコーダーＥＣ等である。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。
【０２２１】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワークや電話回線等の通信回線のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル又は差分プログラムであってもよい。
【符号の説明】
【０２２２】
１…ロボットシステム、２０、２１…ロボット、３０…ロボット制御装置、３１…プロセッサー、３２…メモリー、３４…通信部、３６…制御部、４０…情報処理装置、４１…制御部、３６１…取得部、３６３…導出部、３６５…判定部、３６７…計時部、３６９…ロボット制御部、３７１…報知部、Ａ…可動部、Ａ１…第１アーム、Ａ２…第２アーム、ＡＸ１…第１回動軸、ＡＸ２…第２回動軸、ＡＸ３…第３回動軸、Ｂ…基台、Ｂ１…台座、Ｄ１…光学ディスク、ＥＣ…エンコーダー、ｇ１、ｇ２、ｇ３…歯車、Ｇ０…主軸歯車、Ｇ１…第１副軸歯車、Ｇ２…第２副軸歯車、Ｇ３…第３副軸歯車、Ｇ４…第４副軸歯車、Ｍ…駆動部、Ｍ１…第１駆動部、Ｍ２…第２駆動部、Ｍ３…第３駆動部、Ｍ４…第４駆動部、Ｓ…シャフト、Ｓ０…主軸位相出力部、Ｓ１…第１位相出力部、Ｓ２…第２位相出力部、Ｓ３…第３位相出力部、ＳＴ…回動軸
【図１】
2020069590.tif 000003
【図２】
2020069590.tif 000004
【図３】
2020069590.tif 000005
【図４】
2020069590.tif 000006
【図５】
2020069590.tif 000007
【図６】
2020069590.tif 000008
【図７】
2020069590.tif 000009
【図８】
2020069590.tif 000010
【図９】
2020069590.tif 000011
【図１０】
2020069590.tif 000012
【図１１】
2020069590.tif 000013
【図１２】
2020069590.tif 000014
【図１３】
2020069590.tif 000015
【図１４】
2020069590.tif 000016