(57)【要約】【課題】スカラロボットの動作禁止領域を従来よりも簡略化して設定できる制御システムを提供する。【解決手段】制御システム１は、スカラロボットを備える。スカラロボットは、第１回転軸を中心として回転可能に構成されている第１アームと、第１回転軸と平行に配置され第１アームに設けられている第２回転軸を中心として、回転可能に構成されている第２アームと、第２回転軸と平行な方向に駆動可能に構成され、第２アームに設けられている主軸とを含む。制御システム１は、スカラロボット上の注目点について二次元の動作禁止領域ＡＲ２の設定を受け付けるユーザインターフェイスを提供する設定部を含む。動作禁止領域ＡＲ２は、主軸に直交する平面上の領域に相当する。制御システム１は、動作禁止領域ＡＲ２を主軸の方向に拡張することで三次元に拡張する拡張部を含む。【選択図】図６
2018144145.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの制御システムであって、
前記ロボットは、
第１回転軸と、
前記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、
前記第１回転軸と平行に配置されており、前記第１アームに設けられている第２回転軸と、
前記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、
前記第２回転軸と平行な方向に駆動可能に構成され、前記第２アームに設けられている主軸とを含み、
前記制御システムは、
前記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを提供する設定部を含み、前記二次元の動作禁止領域は、前記主軸に直交する平面上の領域に相当し、さらに、
前記二次元の動作禁止領域を前記主軸の方向に拡張することで、前記二次元の動作禁止領域を三次元の動作禁止領域に拡張するための拡張部とを備える、制御システム。
【請求項２】
前記ユーザインターフェイスにおいて設定可能な前記二次元の動作禁止領域の形状は、扇形を含み、
前記拡張部は、前記主軸に直交する任意の平面上における前記三次元の動作禁止領域の形状が前記扇形となるように、前記二次元の動作禁止領域を前記三次元の動作禁止領域に拡張する、請求項１に記載の制御システム。
【請求項３】
前記ユーザインターフェイスは、前記扇形の中心角の設定を受け付け可能に構成されている、請求項２に記載の制御システム。
【請求項４】
前記ユーザインターフェイスにおいて設定可能な前記二次元の動作禁止領域の形状は、多角形を含み、
前記拡張部は、前記主軸に直交する任意の平面上における前記三次元の動作禁止領域の形状が前記多角形となるように、前記二次元の動作禁止領域を前記三次元の動作禁止領域に拡張する、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
前記拡張部は、前記主軸の方向における予め定められた下限値と、前記主軸の方向における予め定められた上限値との少なくとも一方に基づいて、前記主軸の方向における前記三次元の動作禁止領域の範囲を決定する、請求項１〜４のいずれか１項に記載の制御システム。
【請求項６】
前記制御システムは、前記所定の注目点が前記三次元の動作禁止領域に含まれた場合に、前記ロボットの駆動を停止するための停止部を含む、請求項１〜５のいずれか１項に記載の制御システム。
【請求項７】
前記停止部は、前記所定の注目点が予め定められた動作可能領域に含まれていない場合に、前記ロボットの駆動を停止する、請求項６に記載の制御システム。
【請求項８】
ロボットの動作の設定を行うための設定装置であって、
前記ロボットは、
第１回転軸と、
前記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、
前記第１回転軸と平行に配置されており、前記第１アームに設けられている第２回転軸と、
前記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、
前記第２回転軸と平行な方向に駆動可能に構成され、前記第２アームに設けられている主軸とを備え、
前記設定装置は、
前記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを提供する設定部を備え、前記二次元の動作禁止領域は、前記主軸に直交する平面上の領域に相当し、さらに、
前記二次元の動作禁止領域を前記主軸の方向に拡張することで、前記二次元の動作禁止領域を三次元の動作禁止領域に拡張するための拡張部と、
前記三次元の動作禁止領域を前記ロボットのコントローラに送信するための通信部とを備える、設定装置。
【請求項９】
ロボットの動作を設定するための設定方法であって、
前記ロボットは、
第１回転軸と、
前記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、
前記第１回転軸と平行に配置されており、前記第１アームに設けられている第２回転軸と、
前記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、
前記第２回転軸と平行な方向に駆動可能に構成され、前記第２アームに設けられている主軸とを備え、
前記設定方法は、
前記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを表示するステップを備え、前記二次元の動作禁止領域は、前記主軸に直交する平面上の領域に相当し、さらに、
前記二次元の動作禁止領域を前記主軸の方向に拡張することで、前記二次元の動作禁止領域を三次元の動作禁止領域に拡張するステップと、
前記三次元の動作禁止領域を前記ロボットのコントローラに送信するステップとを備える、設定方法。
【請求項１０】
ロボットの動作を設定するための設定プログラムであって、
前記ロボットは、
第１回転軸と、
前記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、
前記第１回転軸と平行に配置されており、前記第１アームに設けられている第２回転軸と、
前記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、
前記第２回転軸と平行な方向に駆動可能に構成され、前記第２アームに設けられている主軸とを備え、
前記設定プログラムは、コンピュータに、
前記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを表示するステップを実行させ、前記二次元の動作禁止領域は、前記主軸に直交する平面上の領域に相当し、
前記設定プログラムは、前記コンピュータに、さらに、
前記二次元の動作禁止領域を前記主軸の方向に拡張することで、前記二次元の動作禁止領域を三次元の動作禁止領域に拡張するステップと、
前記三次元の動作禁止領域を前記ロボットのコントローラに送信するステップとを実行させる、設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、スカラロボットに対する動作の設定を行うための技術に関する。
【背景技術】
【０００２】
ＦＡ（Factory  Automation）分野において、スカラ（ＳＣＡＲＡ：Selective Compliance Assembly Robot Arm）ロボットと呼ばれる水平多関節ロボットが普及している。スカラロボットとは、互いに連結している複数のアームが水平面上で動作する産業用ロボットの総称である。
【０００３】
このようなロボットに関し、特開２０１２−２５４５２５号公報（特許文献１）は、「応答性能や位置決め精度を維持しつつ、その可動範囲を広く確保することのできる」スカラロボットを開示している。
【０００４】
スカラロボットを安全に動作させることが望まれている。ロボットを安全に動作させるための技術に関し、特開平０５−８８７４３号公報（特許文献２）は、「動作可能か否か自動的に判別し、可動領域以外であればロボットを停止させて安全に作業ができる」産業用ロボットの制御装置を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２５４５２５号公報
【特許文献２】特開平０５−８８７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
スカラロボットは、ＰＬＣなどのコントローラによって制御される。安全性を確保するために、コントローラは、スカラロボットのアームが予め設定されている動作禁止領域に侵入したことに基づいて、スカラロボットの動作が異常であると判断する。当該判断処理は、逐次的に行われるため、動作禁止領域の形状が複雑である場合には、演算時間が想定よりも長くなってしまう。したがって、スカラロボットの動作禁止領域を従来よりも簡略化して設定するための技術が望まれている。
【課題を解決するための手段】
【０００７】
ある局面に従うと、ロボットの制御システムが提供される。上記ロボットは、第１回転軸と、上記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、上記第１回転軸と平行に配置されており、上記第１アームに設けられている第２回転軸と、上記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、上記第２回転軸と平行な方向に駆動可能に構成され、上記第２アームに設けられている主軸とを含む。上記制御システムは、上記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを提供する設定部を含み、上記二次元の動作禁止領域は、上記主軸に直交する平面上の領域に相当する。上記制御システムは、さらに、上記二次元の動作禁止領域を上記主軸の方向に拡張することで、上記二次元の動作禁止領域を三次元の動作禁止領域に拡張するための拡張部とを備える。
【０００８】
好ましくは、上記ユーザインターフェイスにおいて設定可能な上記二次元の動作禁止領域の形状は、扇形を含む。上記拡張部は、上記主軸に直交する任意の平面上における上記三次元の動作禁止領域の形状が上記扇形となるように、上記二次元の動作禁止領域を上記三次元の動作禁止領域に拡張する。
【０００９】
好ましくは、上記ユーザインターフェイスは、上記扇形の中心角の設定を受け付け可能に構成されている。
【００１０】
好ましくは、上記ユーザインターフェイスにおいて設定可能な上記二次元の動作禁止領域の形状は、多角形を含む。上記拡張部は、上記主軸に直交する任意の平面上における上記三次元の動作禁止領域の形状が上記多角形となるように、上記二次元の動作禁止領域を上記三次元の動作禁止領域に拡張する。
【００１１】
好ましくは、上記拡張部は、上記主軸の方向における予め定められた下限値と、上記主軸の方向における予め定められた上限値との少なくとも一方に基づいて、上記主軸の方向における上記三次元の動作禁止領域の範囲を決定する。
【００１２】
好ましくは、上記制御システムは、上記所定の注目点が上記三次元の動作禁止領域に含まれた場合に、上記ロボットの駆動を停止するための停止部を含む。
【００１３】
好ましくは、上記停止部は、上記所定の注目点が予め定められた動作可能領域に含まれていない場合に、上記ロボットの駆動を停止する。
【００１４】
他の局面に従うと、ロボットの動作の設定を行うための設定装置が提供される。上記ロボットは、第１回転軸と、上記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、上記第１回転軸と平行に配置されており、上記第１アームに設けられている第２回転軸と、上記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、上記第２回転軸と平行な方向に駆動可能に構成され、上記第２アームに設けられている主軸とを備える。上記設定装置は、上記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを提供する設定部を備え、上記二次元の動作禁止領域は、上記主軸に直交する平面上の領域に相当する。上記コントローラは、さらに、上記二次元の動作禁止領域を上記主軸の方向に拡張することで、上記二次元の動作禁止領域を三次元の動作禁止領域に拡張するための拡張部と、上記三次元の動作禁止領域を上記ロボットのコントローラに送信するための通信部とを備える。
【００１５】
他の局面に従うと、ロボットの動作を設定するための設定方法が提供される。上記ロボットは、上記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、上記第１回転軸と平行に配置されており、上記第１アームに設けられている第２回転軸と、上記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、上記第２回転軸と平行な方向に駆動可能に構成され、上記第２アームに設けられている主軸とを備える。上記設定方法は、上記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを表示するステップを備える。上記二次元の動作禁止領域は、上記主軸に直交する平面上の領域に相当する。コントローラは、さらに、上記二次元の動作禁止領域を上記主軸の方向に拡張することで、上記二次元の動作禁止領域を三次元の動作禁止領域に拡張するステップと、上記三次元の動作禁止領域を上記ロボットのコントローラに送信するステップとを備える。
【００１６】
他の局面に従うと、ロボットの動作を設定するための設定プログラムが提供される。上記ロボットは、上記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、上記第１回転軸と平行に配置されており、上記第１アームに設けられている第２回転軸と、上記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、上記第２回転軸と平行な方向に駆動可能に構成され、上記第２アームに設けられている主軸とを備える。上記設定プログラムは、コンピュータに、上記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを表示するステップを実行させる。上記二次元の動作禁止領域は、上記主軸に直交する平面上の領域に相当する。上記設定プログラムは、上記コンピュータに、さらに、上記二次元の動作禁止領域を上記主軸の方向に拡張することで、上記二次元の動作禁止領域を三次元の動作禁止領域に拡張するステップと、上記三次元の動作禁止領域を上記ロボットのコントローラに送信するステップとを実行させる。
【発明の効果】
【００１７】
ある局面において、スカラロボットの動作禁止領域を従来よりも簡略化して設定することができる。
【００１８】
本開示の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態に従う制御システムの構成例を示す模式図である。
【図２】第１の実施の形態に従うスカラロボットの側面図である。
【図３】第１の実施の形態に従うスカラロボットの平面図である。
【図４】第１の実施の形態に従う制御システムを構成する装置間でのデータの流れを示すシーケンス図である。
【図５】第１の実施の形態に従うユーザインターフェイスを示す図である。
【図６】第１の実施の形態における動作禁止領域の拡張処理を概略的に示す概念図である。
【図７】第１の実施の形態に従うスカラロボット上の注目点を表わす図である。
【図８】第１の実施の形態に従う設定装置およびコントローラの機能構成の一例を示す図である。
【図９】第１の実施の形態に従うサーボドライバの機能構成の一例を示す図である。
【図１０】第１の実施の形態に従う設定装置の主要なハードウェア構成を示すブロック図である。
【図１１】第１の実施の形態に従うコントローラのハードウェア構成例を示すブロック図である。
【図１２】第１の実施の形態に従う設定装置による設定工程を表わすフローチャートである。
【図１３】実空間上における動作禁止領域の平面図を表わす。
【図１４】図１３のＸＩＶ−ＸＩＶ線に沿った動作禁止領域の断面図を表わす。
【図１５】第１の実施の形態に従うコントローラによって制御されるスカラロボットの作業工程を表わすフローチャートである。
【図１６】第２の実施の形態に従うユーザインターフェイスを示す図である。
【図１７】第２の実施の形態における動作禁止領域の拡張処理を概略的に示す概念図である。
【図１８】第３の実施の形態に従うユーザインターフェイスを示す図である。
【図１９】第３の実施の形態における動作禁止領域の拡張処理を概略的に示す概念図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００２１】
＜第１の実施の形態＞
［Ａ．システム構成］
まず、本実施の形態に従う制御システム１の構成例について説明する。図１は、本実施の形態に従う制御システム１の構成例を示す模式図である。
【００２２】
図１を参照して、制御システム１は、設定装置１００と、ＰＬＣ（Programmable Logic Controller）などのコントローラ２００と、複数のドライブ装置と、スカラロボット３００とを含む。図１の例では、ドライブ装置の一例として、サーボモータ３４０Ａ〜３４０Ｄを駆動するサーボドライバ４００Ａ〜４００Ｄを例示する。以下では、サーボモータ３４０Ａ〜３４０Ｄを総称してサーボモータ３４０ともいう。サーボドライバ４００Ａ〜４００Ｄを総称してサーボドライバ４００ともいう。ドライブ装置としては、サーボドライバ４００に限定されることなく、被駆動装置であるモータに応じて、対応するドライブ装置が採用される。たとえば、誘導モータまたは同期モータを駆動する場合には、ドライブ装置として、インバータドライブなどが採用されてもよい。
【００２３】
設定装置１００は、たとえば、ＰＣ（Personal Computer）、タブレット端末、または、スマートフォンなどの端末装置である。設定装置１００およびコントローラ２００は、フィールドネットワークＮＷ１に接続されている。フィールドネットワークＮＷ１には、たとえば、ＥｔｈｅｒＮＥＴ（登録商標）が採用される。但し、フィールドネットワークＮＷ１は、ＥｔｈｅｒＮＥＴに限定されず、任意の通信手段が採用され得る。たとえば、設定装置１００およびコントローラ２００は、信号線で直接接続されてもよい。
【００２４】
コントローラ２００およびサーボドライバ４００は、デイジーチェーンでフィールドネットワークＮＷ２に接続されている。フィールドネットワークＮＷ２には、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）が採用される。但し、フィールドネットワークＮＷ２は、ＥｔｈｅｒＣＡＴに限定されず、任意の通信手段が採用され得る。一例として、コントローラ２００およびサーボドライバ４００は、信号線で直接接続されてもよい。また、コントローラ２００およびサーボドライバ４００は、一体的に構成されてもよい。
【００２５】
サーボドライバ４００は、スカラロボット３００のサーボモータ３４０を駆動する。サーボモータ３４０の回転軸にはエンコーダ（図示しない）が配置されている。当該エンコーダは、サーボモータ３４０のフィードバック値として、サーボモータの位置、回転速度、累積回転数などをサーボドライバ４００へ出力する。但し、サーボモータ３４０からのフィードバック値は、コントローラ２００へ直接入力されてもよい。
【００２６】
なお、図１には、制御システム１が１つのコントローラ２００で構成されている例が示されているが、制御システム１は、複数のコントローラ２００で構成されてもよい。また、図１には、制御システム１が１つのスカラロボット３００で構成されている例が示されているが、制御システム１は、複数のスカラロボット３００で構成されてもよい。また、図１には、コントローラ２００およびサーボドライバ４００が直接的に接続されている例が示されているが、コントローラ２００およびサーボドライバ４００の間にロボットコントローラなどが設けられてもよい。
【００２７】
［Ｂ．スカラロボットの装置構成］
図２および図３を参照して、スカラロボット３００について説明する。図２は、スカラロボット３００の側面図である。図３は、スカラロボット３００の平面図である。
【００２８】
スカラロボット３００は、基台３２０と、第１回転軸３２２と、第１アーム３２４と、第２回転軸３２６と、第２アーム３２８と、第３回転軸３３０と、主軸３３１と、作業ツール３３２とを含む。
【００２９】
スカラロボット３００は、基台３２０と、第１回転軸３２２と、第１アーム３２４と、第２回転軸３２６と、第２アーム３２８と、主軸３３１と、作業ツール３３２とを含む。
【００３０】
基台３２０および第１アーム３２４は、第１回転軸３２２によって連結されている。第１回転軸３２２はサーボモータ３４０Ａ（図１参照）によって回転駆動される。その結果、第１アーム３２４は、第１回転軸３２２を中心に回転駆動される。
【００３１】
第１アーム３２４および第２アーム３２８は、第２回転軸３２６によって連結されている。より具体的には、第１アーム３２４の一端は、第１回転軸３２２を介して基台３２０に連結されており、第１アーム３２４の他端は、第２回転軸３２６を介して第２アーム３２８に連結されている。第２回転軸３２６は、サーボモータ３４０Ｂ（図１参照）によって回転駆動される。その結果、第２アーム３２８は、第２回転軸３２６を中心に回転駆動される。第１アーム３２４と第２アーム３２８とが連動して回転駆動されることで、第２アーム３２８は、動作領域ＡＲ１内で動作することができる。
【００３２】
説明の便宜のために、以下では、水平面上における所定方向をＸ方向ともいう。また、水平面上においてＸ方向に直交する方向をＹ方向ともいう。Ｘ方向およびＹ方向に直交する方向をＺ方向ともいう。すなわち、Ｚ方向は、鉛直方向に相当する。
【００３３】
主軸３３１は、サーボモータ３４０Ｃ（図１参照）によって、第２回転軸３２６と平行な方向（すなわち、Ｚ方向）に駆動可能に構成される。また、主軸３３１は、第３回転軸として機能し、サーボモータ３４０Ｄ（図１参照）によって回転駆動される。すなわち、主軸３３１は、Ｚ方向に平行に駆動可能に構成されるとともに、Ｚ方向の軸を中心として回転可能に構成される。
【００３４】
主軸３３１の先端には、ワークＷに対して予め定められた作業を行うための作業ツール３３２が設けられている。ワークＷは、製品または半製品である。作業ツール３３２は、ワークＷに作用を及ぼすエンドエフェクタとして機能する。作業ツール３３２は、主軸３３１に取り外し可能に構成される。すなわち、主軸３３１の先端には、作業ツール３３２を接続するためのインターフェイスが設けられる。
【００３５】
作業ツール３３２は、たとえば、ワークＷのピックアップツールである。一例として、ピックアップツールは、吸引力を利用してワークＷを吸着することでワークＷをピックアップする。あるいは、ピックアップツールは、ワークＷを把持することによりワークＷをピックアップする。作業ツール３３２による作業の一例として、作業ツール３３２は、ネジなどのワークＷを、コンベア上を搬送される製品に取り付ける作業を行う。あるいは、作業ツール３３２は、第１コンベア上を搬送されるワークＷを、第２コンベア上を搬送される容器に順次移動する作業を行う。
【００３６】
［Ｃ．制御システム１の動作］
図４〜図７を参照して、制御システム１の動作の一例について説明する。図４は、制御システム１を構成する装置間でのデータの流れを示すシーケンス図である。
【００３７】
図４に示されるように、制御システム１は、スカラロボット３００の設定工程と、ワークＷに対して予め定められた作業を行うための作業工程とを含む。
【００３８】
設定工程において、ユーザは、スカラロボット３００の動作禁止領域をコントローラ２００に対して設定する。詳細については後述するが、設定装置１００は、Ｚ方向からスカラロボット３００を表わした画像を表示し、ユーザは、当該画像に対して動作禁止領域を二次元で絵設定することができる。設定装置１００は、設定された二次元の動作禁止領域をＺ方向に拡張することで、二次元の動作禁止領域を三次元の動作禁止領域に拡張する。その後、設定装置１００は、三次元の動作禁止領域をコントローラ２００に設定する。このように、ユーザは、動作禁止領域を二次元で設定することができ、動作禁止領域の設定操作が簡略化される。
【００３９】
作業工程において、スカラロボット３００は、ワークに対して予め定められた作業を行う。このとき、コントローラ２００は、スカラロボット３００上の所定の注目点が動作禁止領域に侵入したか否かを監視する。当該注目点が動作禁止領域に侵入した場合には、コントローラ２００は、スカラロボット３００の動作が異常であると判断する。
【００４０】
上述のように、三次元の動作禁止領域は、二次元の動作禁止領域をＺ方向に拡張したものであるので、三次元の動作禁止領域は単純な形状となる。そのため、コントローラ２００は、スカラロボット３００上の注目点が三次元の動作禁止領域に含まれたか否かを即座に判断することができる。これにより、演算時間が大幅に短縮される。当該注目点が三次元の動作禁止領域に侵入した場合には、コントローラ２００は、スカラロボット３００の動作を停止する。
【００４１】
以下では、設定装置１００による設定工程と、スカラロボット３００による作業工程について詳細に説明する。
【００４２】
（Ｃ１．設定工程）
まず、図４〜図６を参照して、設定装置１００による設定工程について説明する。
【００４３】
設定装置１００には、スカラロボット３００の動作設定を行うためのアプリケーションが予めインストールされている。ステップＳ１０において、ユーザは、当該アプリケーションを起動したとする。
【００４４】
ステップＳ２０において、設定装置１００は、スカラロボット３００の動作設定を行うためのユーザインターフェイスを表示する。図５を参照して、当該ユーザインターフェイスの一例について説明する。図５は、スカラロボット３００の動作設定を行うためのユーザインターフェイス１４０を示す図である。
【００４５】
ユーザインターフェイス１４０は、スカラロボット３００を概略的に表わす画像を表示する。当該画像は、Ｚ方向から見た場合のスカラロボット３００を表わす。より具体的には、ユーザインターフェイス１４０は、第１回転軸３２２を表わす画像３２２Ａと、第１アーム３２４を表わす画像３２４Ａと、第２回転軸３２６を表わす画像３２６Ａと、第２アーム３２８を表わす画像３２８Ａと、第３回転軸３３０を表わす画像３３０Ａとを表示する。
【００４６】
また、ユーザインターフェイス１４０は、スカラロボット３００の動作可能領域ＡＲ１を表示する。動作可能領域ＡＲ１とは、スカラロボット３００上の所定の注目点が動作することを許される範囲を示す。典型的には、スカラロボット３００の動作可能領域は、不変であるため、スカラロボット３００の設計時や設置時などに予め設定される。コントローラ２００は、当該注目点が動作可能領域ＡＲ１に収まっているか否かを１つの判断材料として、スカラロボット３００が正常に動作しているか否かを判断する。
【００４７】
また、ユーザインターフェイス１４０は、スカラロボット３００の動作禁止領域ＡＲ２の設定を受け付ける。すなわち、ユーザは、ユーザインターフェイス１４０上で動作禁止領域ＡＲ２を任意に設定することができる。設定可能な動作禁止領域ＡＲ２の数は、任意である。上述のように、第１アーム３２４および第２アーム３２８は、水平面（すなわち、ＸＹ平面）上で動作するため、Ｚ方向から表わされたスカラロボット３００がユーザインターフェイス１４０に表示されることで、ユーザは、動作禁止領域ＡＲ２を設定しやすくなる。
【００４８】
図５の例では、扇形の動作禁止領域ＡＲ２が設定される。扇形の動作禁止領域ＡＲ２のサイズおよび位置は、任意の方法で設定される。たとえば、動作禁止領域ＡＲ２の位置およびサイズは、ＸＹ平面上における扇形の中心線ｃの方向と、扇形の中心角θと、第１回転軸３２２の中心点から扇形の中心点までの距離ｄとで規定される。中心線ｃの方向は、入力領域１４２において入力される。中心角θは、入力領域１４３において入力される。距離ｄは、入力領域１４４において入力される。但し、動作禁止領域ＡＲ２は、他の方法で設定されてもよい。たとえば、動作禁止領域ＡＲ２は、動作禁止領域ＡＲ２に対するドラッグ操作により指定されてもよい。好ましくは、入力領域１４２〜１４４内の情報は、当該ドラッグ操作に連動して変わる。
【００４９】
ステップＳ２４において、ユーザは、ＯＫボタン１４６を押下したとする。これにより、設定装置１００は、動作禁止領域ＡＲ２の位置およびサイズを記憶する。すなわち、設定装置１００は、中心線ｃの方向と、扇形の中心角θと、距離ｄとを記憶する。なお、キャンセルボタン１４７が押下されると、設定装置１００は、動作禁止領域ＡＲ２の位置およびサイズを記憶せずにユーザインターフェイス１４０を閉じる。
【００５０】
ステップＳ３０において、設定装置１００は、ユーザインターフェイス１４０に設定された二次元の動作禁止領域ＡＲ２を三次元に拡張する。図６は、動作禁止領域ＡＲ２の拡張処理を概略的に示す概念図である。
【００５１】
図６に示されるように、設定装置１００は、二次元の動作禁止領域ＡＲ２をＺ方向に拡張することで、二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する。異なる言い方をすれば、設定装置１００は、Ｚ方向に直交する任意の平面上における動作禁止領域ＡＲ２’の形状が動作禁止領域ＡＲ２と等しくなるように、二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する。図６の例では、Ｚ方向に直交する任意の平面上において動作禁止領域ＡＲ２’の形状は、扇形の動作禁止領域ＡＲ２と等しくなる。
【００５２】
上述のように、二次元の動作禁止領域ＡＲ２は、中心線ｃの方向と、扇形の中心角θと、距離ｄとで規定されているので、設定装置１００は、予め定められた変換式に従って、中心線ｃの方向と、扇形の中心角θと、距離ｄとを実空間を表わす座標系に変換するとともに、当該指標に高さｈを付加する。これにより、ユーザインターフェイス１４０上の座標系で表わされている動作禁止領域ＡＲ２が、実空間上の座標系で表わされる動作禁止領域ＡＲ２’に変換される。
【００５３】
好ましくは、動作禁止領域ＡＲ２’の高さｈは、Ｚ方向における下限値および上限値に基づいて決定される。下限値および上限値は、予め設定されてもよいし、ユーザによって任意に設定されてもよい。下限値は、水平面上の所定の基準面（たとえば、地面）から動作禁止領域ＡＲ２’の底面までの距離に相当する。上限値は、当該基準面から動作禁止領域ＡＲ２’の上面までの距離に相当する。但し、下限値および上限値の両方が設定されている必要はなく、下限値および上限値のいずれか一方のみが設定されていればよい。
【００５４】
なお、典型的には、スカラロボット３００の動作可能領域ＡＲ１’は、不変であるため、動作可能領域ＡＲ１の拡張処理は、実行されてもよいし、実行されなくともよい。動作可能領域ＡＲ１の拡張処理が実行される場合、設定装置１００は、二次元の動作可能領域ＡＲ１をＺ方向に拡張する。これにより、二次元の動作可能領域ＡＲ１が三次元の動作可能領域ＡＲ１’に拡張される。異なる言い方をすれば、設定装置１００は、Ｚ方向に直交する任意の平面上における動作可能領域ＡＲ１’の形状が動作可能領域ＡＲ１と等しくなるように、二次元の動作可能領域ＡＲ１を三次元の動作可能領域ＡＲ１’に拡張する。
【００５５】
再び図４を参照して、ステップＳ３２において、設定装置１００は、設定された動作禁止領域ＡＲ２’をコントローラ２００に送信する。
【００５６】
コントローラ２００は、設定装置１００から受信した動作禁止領域ＡＲ２’を記憶する。これにより、動作禁止領域ＡＲ２’がコントローラ２００に設定される。
【００５７】
（Ｃ２．作業工程）
引き続き図４を参照しつつ、図７を参照して、スカラロボット３００による作業工程について説明する。
【００５８】
ステップＳ４０において、コントローラ２００は、スカラロボット３００の作業開始操作を受け付けたとする。
【００５９】
ステップＳ４２において、コントローラ２００は、予め設定されている作業工程に従って、第１アーム３２４、第２アーム３２８、および主軸３３１の移動先を決定するとともに、スカラロボット３００上の所定の注目点の移動先を決定する。図７は、スカラロボット３００上の注目点Ｐ１，Ｐ２を表わす図である。注目点Ｐ１は、主軸３３１に対する作業ツール３３２の取り付け部分上の点である。すなわち、注目点Ｐ１は、地面側における主軸３３１の先端に上の点に相当する。注目点Ｐ２は、地面側における作業ツール３３２の先端部に相当する。コントローラ２００は、予め設定されている作業工程に従って、注目点Ｐ１，Ｐ２の移動先を決定する。なお、注目点Ｐ１，Ｐ２は、スカラロボット３００上の他の点であってもよく、たとえば、第１アーム３２４と第２アーム３２８との接続側とは異なる側の第２アーム３２８の端部（先端）上の点であってもよい。
【００６０】
ステップＳ４４において、コントローラ２００は、ステップＳ４２で決定された移動先に基づいて、第１アーム３２４、第２アーム３２８、および主軸３３１のそれぞれについて現在位置から移動先までの軌道を算出するとともに、注目点Ｐ１，Ｐ２のそれぞれについて現在位置から移動先までの軌道を算出する。
【００６１】
ステップＳ４６において、コントローラ２００は、ステップＳ４２で決定された注目点Ｐ１，Ｐ２の移動先に基づいて、スカラロボット３００の動作が異常であるか否かを判断する。より具体的には、コントローラ２００は、注目点Ｐ１，Ｐ２の移動先が動作可能領域ＡＲ１’に含まれており、かつ、注目点Ｐ１，Ｐ２の移動先が動作禁止領域ＡＲ２’に含まれていない場合には、スカラロボット３００の動作が正常であると判断する。一方で、コントローラ２００は、注目点Ｐ１，Ｐ２のいずれかの移動先が動作可能領域ＡＲ１’から外れている場合、または、注目点Ｐ１，Ｐ２のいずれかの移動先が動作禁止領域ＡＲ２’に含まれている場合には、スカラロボット３００の動作が異常であると判断する。
【００６２】
また、コントローラ２００は、ステップＳ４４で決定された注目点Ｐ１，Ｐ２の軌道に基づいて、スカラロボット３００の動作が異常であるか否かを判断する。より具体的には、コントローラ２００は、注目点Ｐ１，Ｐ２の軌道が動作可能領域ＡＲ１’に全て含まれており、かつ、注目点Ｐ１，Ｐ２の軌道が動作禁止領域ＡＲ２’と重複していない場合には、スカラロボット３００の動作が正常であると判断する。一方で、コントローラ２００は、注目点Ｐ１，Ｐ２のいずれかの軌道が少なくとも一部で動作可能領域ＡＲ１’から外れている場合、または、注目点Ｐ１，Ｐ２のいずれかの軌道が動作禁止領域ＡＲ２’と少なくとも一部で重複している場合には、スカラロボット３００の動作が異常であると判断する。
【００６３】
コントローラ２００は、スカラロボット３００の動作が異常であると判断した場合には、異常動作に対処するための予め定められた処理を実行する。一例として、コントローラ２００は、スカラロボット３００の停止処理を実行する。
【００６４】
ステップＳ５０において、コントローラ２００は、第１アーム３２４、第２アーム３２８、および主軸３３１のそれぞれを目標の移動先に駆動するための指令値を生成し、当該指令値をサーボドライバ４００に送信する。サーボドライバ４００は、当該指令値に従ってスカラロボット３００を駆動する。
【００６５】
ステップＳ５２において、サーボドライバ４００は、第１アーム３２４、第２アーム３２８、および主軸３３１のそれぞれの実位置をコントローラ２００に送信する。当該実位置は、たとえば、ロボット座標系で表わされる。
【００６６】
ステップＳ５４において、コントローラ２００は、スカラロボット３００上の注目点Ｐ１，Ｐ２の実位置に基づいて、スカラロボット３００の動作が異常であるか否かを判断する。より具体的には、コントローラ２００は、注目点Ｐ１，Ｐ２の実位置が動作可能領域ＡＲ１’に含まれており、かつ、注目点Ｐ１，Ｐ２の実位置が動作禁止領域ＡＲ２’に含まれていない場合には、スカラロボット３００の動作が正常であると判断する。一方で、コントローラ２００は、注目点Ｐ１，Ｐ２のいずれかの実位置が動作可能領域ＡＲ１’から外れている場合、または、注目点Ｐ１，Ｐ２のいずれかの実位置が動作禁止領域ＡＲ２’に含まれている場合には、スカラロボット３００の動作が異常であると判断する。この場合、コントローラ２００は、異常動作に対処するための予め定められた処理を実行する。一例として、コントローラ２００は、スカラロボット３００の停止処理を実行する。
【００６７】
ステップＳ５０，Ｓ５２，Ｓ５４の処理は、スカラロボット３００の各構成が目標の移動先に到達するまで順次繰り返される。これにより、コントローラ２００は、スカラロボット３００の作業過程において、スカラロボット３００の動作が異常であるか否かをリアルタイムに判断することができる。
【００６８】
なお、上述では、複数の注目点Ｐ１，Ｐ２が設定されている前提で説明を行ったが、注目点の数は、１つであってもよいし、３つ以上であってもよい。また、注目点は、厳密な意味での「点」である必要はなく、ある程度の面積または体積を有する領域として規定されてもよい。
【００６９】
［Ｄ．制御システム１の機能構成］
図８および図９を参照して、制御システム１を構成する各装置の機能について説明する。図８は、設定装置１００およびコントローラ２００の機能構成の一例を示す図である。図９は、サーボドライバ４００の機能構成の一例を示す図である。
【００７０】
（Ｄ１．設定装置１００の機能構成）
まず、図８を参照して、設定装置１００の機能について説明する。
【００７１】
図８に示されるように、設定装置１００は、主要なハードウェア構成として、制御装置１０１と、記憶装置１０３とを含む。制御装置１０１は、機能構成として、設定部１５２と、拡張部１５４と、通信部１５６とを含む。
【００７２】
設定部１５２は、アプリケーション１０３Ａの起動操作を受け付けたことに基づいて、スカラロボット３００の動作設定を実現するための設定プログラムを記憶装置１０３から読み込み、上述のユーザインターフェイス１４０を設定装置１００の表示部１０５（図１０参照）に表示する。ユーザインターフェイス１４０は、スカラロボット３００上の所定の注目点について二次元の動作禁止領域の設定を受け付ける。設定部１５２は、ユーザインターフェイス１４０に対して設定された二次元の動作禁止領域を拡張部１５４に出力する。
【００７３】
拡張部１５４は、二次元の動作禁止領域をＺ方向に拡張することで、二次元の動作禁止領域を三次元の動作禁止領域に拡張する。すなわち、ＸＹ平面上における三次元の動作禁止領域の形状は、二次元の動作禁止領域の形状と等しくなる。動作禁止領域の拡張方法については図６で説明した通りであるので、その説明については繰り返さない。
【００７４】
通信部１５６は、設定装置１００のネットワークインターフェイス（Ｉ／Ｆ）１０４（図１０参照）を介して、拡張部１５４から出力された三次元の動作禁止領域を指定された送信先のコントローラ２００に送信する。
【００７５】
なお、設定部１５２、拡張部１５４、および通信部１５６は、必ずしも設定装置１００に実装される必要はなく、その他の装置に実行されてもよい。一例として、設定装置１００の機能構成の少なくとも一部は、コントローラ２００に実装されてもよい。あるいは、設定装置１００の機能構成の一部は、サーバなどの外部装置に実装されてもよい。この場合、サーバが本実施の形態に従う制御プログラムの処理の一部を実行する所謂クラウドサービスのような形態で設定装置１００が構成される。
【００７６】
（Ｄ２．コントローラ２００の機能構成）
引き続き、図８を参照して、コントローラ２００の機能について説明する。
【００７７】
図８に示されるように、コントローラ２００は、主要なハードウェア構成として、制御装置２０１と、記憶装置２２０とを含む。制御装置２０１は、機能構成として、通信部２５２と、入力部２５３と、動作制御部２５４と、停止部２５６とを含む。
【００７８】
通信部２５２は、後述のフィールドバスコントローラ２０８，２０９（図１１参照）を制御する。通信部２５２は、フィールドバスコントローラ２０８を介して設定装置１００から動作禁止領域ＡＲ２’を受信し、動作禁止領域ＡＲ２’を記憶装置２２０に格納する。動作禁止領域ＡＲ２’は、実空間上の座標系で表わされる。
【００７９】
入力部２５３は、設定装置１００や上位のコントローラからスカラロボット３００の移動先（目標位置）を取得する。目標位置は、たとえば、予め定められた作業工程に従って設定装置１００や上位のコントローラによって決定される。目標位置は、動作制御部２５４および停止部２５６に出力される。
【００８０】
動作制御部２５４は、入力部２５３から受け付けた目標位置に従ってスカラロボット３００の各アームの軌道を生成し、当該軌道に基づいて各アームの制御指令を生成する。生成された軌道は、停止部２５６に出力される。生成された制御指令は、サーボドライバ４００に出力される。サーボドライバ４００は、動作制御部２５４から受け付けた制御指令に基づいて、スカラロボット３００を駆動する。
【００８１】
停止部２５６は、スカラロボット３００上の注目点の位置を監視し、スカラロボット３００が異常動作を行った場合に、スカラロボット３００を駆動するためのサーボドライバ４００を停止する。より具体的には、停止部２５６は、スカラロボット３００上の所定の注目点が動作禁止領域ＡＲ２’に含まれた場合に、スカラロボット３００の駆動を停止する。これにより、停止部２５６は、スカラロボット３００が意図しない動作を行った場合に、スカラロボット３００を停止することができる。なお、スカラロボット３００の異常動作を行っているか否かは、スカラロボット３００上の注目点の目標位置に基づいて判断されてもよいし、当該注目点の実位置に基づいて判断されてもよい。
【００８２】
好ましくは、停止部２５６は、動作禁止領域ＡＲ２’だけでなく、動作可能領域ＡＲ１’に基づいて、スカラロボット３００が異常動作を行っているか否かを判断する。より具体的には、停止部２５６は、スカラロボット３００上の所定の注目点が動作禁止領域ＡＲ２’に含まれた場合だけでなく、当該注目点が動作可能領域ＡＲ１’に含まれていない場合に、スカラロボット３００の駆動を停止する。スカラロボット３００の異常動作の判断基準として動作可能領域ＡＲ１’および動作禁止領域ＡＲ２’の両方が用いられることにより、安全性がさらに高められる。
【００８３】
なお、通信部２５２、入力部２５３、動作制御部２５４、および停止部２５６は、必ずしもコントローラ２００に実装される必要はなく、その他の装置に実行されてもよい。一例として、コントローラ２００の機能構成の少なくとも一部は、他の装置（たとえば、スカラロボット３００）に実装されてもよい。あるいは、コントローラ２００の機能構成の少なくとも一部は、サーバなどの外部装置に実装されてもよい。この場合、サーバが本実施の形態に従う制御プログラムの処理の一部を実行する所謂クラウドサービスのような形態でコントローラ２００が構成される。
【００８４】
（Ｄ３．サーボドライバ４００の機能構成）
次に、図９を参照して、本実施の形態に従うコントローラ２００に接続されるサーボドライバ４００の機能構成の一例について説明する。図９に示す各機能ブロックは、サーボドライバ４００の制御装置（図示しない）によって実現される。
【００８５】
本実施の形態に従う制御システム１においては、コントローラ２００からサーボドライバ４００に対して指令値として目標位置が与えられる。サーボドライバ４００は、制御対象であるスカラロボット３００の各アームの実位置がコントローラ２００からの目標位置と一致するように、サーボモータ３４０へ供給する駆動電流を制御する。
【００８６】
典型的には、サーボドライバ４００においては、位置についてのメインループに加えて、速度についてのマイナーループを含む、制御ループが実装されている。より具体的には、サーボドライバ４００は、機能構成として、差分演算部４１０，４１４と、位置制御部４１２と、速度制御部４１６と、加算部４１８と、トルクフィルタ４２０と、電流制御部４２２と、速度検知部４２４とを含む。
【００８７】
位置制御部４１２は、位置についての制御ループを構成する制御演算部であり、差分演算部４１０において算出される、目標位置と実位置（フィードバック値）との偏差に応じた制御量を出力する。位置制御部４１２としては、典型的には、Ｐ（比例）制御が用いられてもよい。つまり、位置制御部４１２は、目標位置と実位置との偏差に予め定められた比例係数を乗じた値を制御量として出力する。
【００８８】
速度制御部４１６は、速度についての制御ループを構成する制御演算部であり、差分演算部４１４において算出される、位置制御部４１２からの制御量と速度検知部４２４からの実速度との偏差に応じた制御量を出力する。速度制御部４１６としては、典型的には、ＰＩ（比例積分）制御が用いられてもよい。つまり、位置制御部４１２は、位置制御部４１２からの指令速度と実速度との偏差に対して、比例係数を乗じた値と積分要素によって積分された値との和を制御量として出力する。
【００８９】
トルクフィルタ４２０は、速度制御部４１６から出力される制御量（サーボモータ３４０で発生させるべきトルクの指令値）の単位時間あたりの変化の度合いが大きくなり過ぎないように、時間変化の度合いを緩和する。すなわち、トルクフィルタ４２０は、速度制御部４１６から出力される制御量を鈍らせる。トルクフィルタ４２０からの制御量は電流制御部４２２に出力される。
【００９０】
電流制御部４２２は、トルクフィルタ４２０からの制御量に対応させて、スカラロボット３００のサーボモータ３４０でのスイッチングタイミングを決定する。つまり、電流制御部４２２は、トルクフィルタ４２０にて決定された指令トルクを実現できるように、サーボモータ３４０へ供給する電流の大きさ、タイミング、波形などを決定する。電流制御部４２２にて決定された制御量に従って、サーボモータ３４０が駆動される。サーボモータ３４０から供給される電流によって、サーボモータ３４０が回転駆動される。
【００９１】
スカラロボット３００の各アームの変位を示すフィードバック値として、エンコーダ（図示しない）から実位置が出力される、速度検知部４２４は、エンコーダからの実位置を微分して実速度を算出する。
【００９２】
［Ｅ．制御システム１のハードウェア構成］
図１０および図１１を参照して、制御システム１を構成する設定装置１００およびコントローラ２００のハードウェア構成について説明する。
【００９３】
（Ｅ１．設定装置１００のハードウェア構成）
まず、図１０を参照して、設定装置１００のハードウェア構成について説明する。図１０は、設定装置１００の主要なハードウェア構成を示すブロック図である。
【００９４】
設定装置１００は、たとえば、汎用のコンピュータで実現される。設定装置１００を実現するコンピュータは、制御装置１０１と、メモリ１０２と、ＨＤＤ（Hard Disk Drive）などの記憶装置１０３と、ネットワークインターフェイス（Ｉ／Ｆ）１０４と、表示部１０５と、操作部１０６と、メモリカードリーダ・ライタ１０７とを含む。これらの各部は、内部バス１０８を介して、互いに通信可能に接続されている。
【００９５】
制御装置１０１は、記憶装置１０３などに格納されているプログラム（命令コード）をメモリ１０２へ展開した上で実行することで、上述の各種機能を実現する。メモリ１０２および記憶装置１０３は、それぞれ揮発的および不揮発的にデータを格納する。記憶装置１０３は、ＯＳ（Operating System）に加えて、アプリケーション１０３Ａを保持している。アプリケーション１０３Ａは、上述のユーザインターフェイス１４０（図５参照）を提供する基本プログラムである。
【００９６】
ネットワークインターフェイス１０４は、フィールドネットワークＮＷ１（図１参照）を介して、設定装置１００とコントローラ２００との間でデータを遣り取りする。
【００９７】
表示部１０５は、アプリケーション１０３Ａの起動指示を受け付けたことに基づいて、上述のユーザインターフェイス１４０などを表示する。表示部１０５は、ＬＣＤ（Liquid Crystal Display）といったディスプレイなどからなる。
【００９８】
操作部１０６は、ユーザ操作を受け付け、その受け付けた操作を示す内部指令を制御装置１０１などへ出力する。操作部１０６は、典型的には、キーボード、マウス、タッチパネル、タブレット、音声認識装置などからなる。
【００９９】
メモリカードリーダ・ライタ１０７は、メモリカード１０７Ａからデータを読み出し、およびメモリカード１０７Ａへデータを書き込む。メモリカード１０７Ａとしては、ＳＤ（Secure Digital）カードなどの公知の記録媒体を採用できる。
【０１００】
（Ｅ２．コントローラ２００のハードウェア構成）
次に、図１１を参照して、コントローラ２００のハードウェア構成について説明する。図１１は、コントローラ２００のハードウェア構成例を示すブロック図である。
【０１０１】
コントローラ２００は、ＣＰＵ（Central Processing Unit）やＭＰＵ（Micro-Processing Unit）などの制御装置２０１と、チップセット２０２と、主メモリ２０６と、記憶装置２２０と、ローカルネットワークコントローラ２０３と、ＵＳＢ（Universal Serial Bus）コントローラ２０４と、メモリカードインターフェイス２０５と、内部バスコントローラ２１０と、フィールドバスコントローラ２０８，２０９と、Ｉ／Ｏユニット２１１−１，２１１−２，…とを含む。
【０１０２】
制御装置２０１は、記憶装置２２０に格納された各種プログラムを読み出して、主メモリ２０６に展開して実行することで、制御対象に応じた制御、および、本実施の形態に従う処理などを実現する。チップセット２０２は、制御装置２０１と各コンポーネントを制御することで、コントローラ２００全体としての処理を実現する。
【０１０３】
記憶装置２２０は、たとえば、二次記憶装置である。記憶装置２２０には、ＰＬＣエンジンを実現するためのシステムプログラムに加えて、ＰＬＣエンジンを利用して実行されるユーザプログラム２２１などが格納される。ユーザプログラム２２１は、論理的な演算を主とするシーケンスシーケンスプログラム２２２、位置制御や速度制御などの数値的な演算を主とするモーションプログラム２２３、スカラロボット３００の設定プログラム２２４などを含む。
【０１０４】
ローカルネットワークコントローラ２０３は、ローカルネットワークを介した他の装置（たとえば、サーバーなど）との間のデータの遣り取りを制御する。ＵＳＢコントローラ２０４は、ＵＳＢ接続を介して他の装置（たとえば、ＰＣ（Personal Computer）など）との間のデータの遣り取りを制御する。
【０１０５】
メモリカードインターフェイス２０５は、メモリカード２１６を着脱可能に構成されており、メモリカード２１６に対してデータを書込み、メモリカード２１６から各種データ（ユーザプログラムやトレースデータなど）を読出すことが可能になっている。
【０１０６】
内部バスコントローラ２１０は、コントローラ２００に搭載されるＩ／Ｏユニット２１１−１，２１１−２，…との間でデータを遣り取りするインターフェイスである。
【０１０７】
フィールドバスコントローラ２０８は、フィールドネットワークＮＷ１（図１参照）を介した他の装置（たとえば、設定装置１００など）との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ２０９は、フィールドネットワークＮＷ２（図１参照）を介した他の装置（たとえば、スカラロボット３００やサーボドライバ４００）との間のデータの遣り取りを制御する。
【０１０８】
図１１には、制御装置２０１がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（たとえば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、コントローラ２００の主要部を、汎用的なアーキテクチャに従うハードウェア（たとえば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【０１０９】
［Ｆ．制御システム１の制御構造］
上述したように、制御システム１が実行する処理は、主に、設定工程と、作業工程とを含む。以下では、図１２〜図１５を参照して、設定装置１００による設定工程のフローと、スカラロボット３００による作業工程のフローとについて順に説明する。
【０１１０】
（Ｆ１．設定工程のフロー）
まず、図１２を参照して、設定装置１００による設定工程のフローについて説明する。図１２は、設定装置１００による設定工程を表わすフローチャートである。図１２の処理は、設定装置１００の制御装置１０１（図８参照）がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、ＦＰＧＡ、回路素子またはその他のハードウェアによって実行されてもよい。
【０１１１】
ステップＳ１１０において、制御装置１０１は、スカラロボット３００の動作を設定するためのアプリケーションの起動操作を受け付けたか否かを判断する。当該起動操作は、たとえば、操作部１０６（図１０参照）によって受け付けられる。制御装置１０１は、スカラロボット３００の動作を設定するためのアプリケーションの起動操作を受け付けたと判断した場合（ステップＳ１１０においてＹＥＳ）、制御をステップＳ１１２に切り替える。そうでない場合には（ステップＳ１１０においてＮＯ）、制御装置１０１は、ステップＳ１１０の処理を再び実行する。
【０１１２】
ステップＳ１１２において、制御装置１０１は、上述の設定部１５２（図８参照）として、設定装置１００の表示部１０５（図１０参照）にユーザインターフェイス１４０（図５参照）を表示する。ユーザインターフェイス１４０には、Ｚ方向からスカラロボット３００を表わした画像が表示され、ユーザは、当該画像に対してスカラロボット３００の動作禁止領域ＡＲ２を設定することができる。一例として、ユーザは、ＸＹ平面上における扇形の中心線ｃの方向と、扇形の中心角θと、第１回転軸３２２の中心点からの距離ｄとを設定することで扇形の動作禁止領域ＡＲ２を設定することができる。
【０１１３】
ステップＳ１２０において、制御装置１０１は、動作禁止領域ＡＲ２の設定を確定する操作を受け付けたか否かを判断する。一例として、ユーザは、ユーザインターフェイス１４０上のＯＫボタン１４６を押下することにより、動作禁止領域ＡＲ２の設定を確定することができる。制御装置１０１は、動作禁止領域ＡＲ２の設定を確定する操作を受け付けたと判断した場合（ステップＳ１２０においてＹＥＳ）、制御をステップＳ１２２に切り替える。そうでない場合には（ステップＳ１２０においてＮＯ）、制御装置１０１は、制御をステップＳ１２０の処理を再び実行する。
【０１１４】
ステップＳ１２２において、制御装置１０１は、上述の拡張部１５４（図８参照）として、設定された二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する。このとき、制御装置１０１は、ユーザインターフェイス１４０上の座標系で示される動作禁止領域ＡＲ２を実空間上の座標系に変換する。
【０１１５】
図１３は、実空間上における動作禁止領域ＡＲ２’の平面図を表わす。図１４は、図１３のＸＩＶ−ＸＩＶ線に沿った動作禁止領域ＡＲ２’の断面図を表わす。
【０１１６】
図１３および図１４に示されるように、実空間での動作禁止領域ＡＲ２’は、第１回転軸３２２の中心点Ｐ５から扇形の中心点Ｐ６までの距離ｄと、扇形の中心角θと、扇形の中心線ｃの方向（角度）と、水平面上の所定の基準面（たとえば、地面）からの下限までの下限値Ｚminと、Ｚ方向における高さｈとで規定される。典型的には、距離ｄ、中心角θ、中心線ｃの方向は、ユーザインターフェイス１４０において設定される。下限値Ｚminおよび高さｈは、予め設定されていてもよいし、ユーザインターフェイス１４０上で設定可能に実装されてもよい。
【０１１７】
ステップＳ１２４において、制御装置１０１は、上述の通信部１５６（図８参照）として、動作禁止領域ＡＲ２’を指定されたコントローラ２００に送信する。このとき、動作可能領域ＡＲ１’が指定されたコントローラ２００にさらに送信されてもよい。
【０１１８】
（Ｆ２．作業工程のフロー）
次に、図１５を参照して、コントローラ２００によって制御されるスカラロボット３００の作業工程のフローについて説明する。図１５は、コントローラ２００によって制御されるスカラロボット３００の作業工程を表わすフローチャートである。図１５の処理は、コントローラ２００の制御装置２０１（図８参照）がプログラムを実行することにより実現される。他の局面において、処理の一部または全部が、ＦＰＧＡ、回路素子またはその他のハードウェアによって実行されてもよい。
【０１１９】
ステップＳ１５０において、制御装置２０１は、スカラロボット３００上の注目点Ｐ１（図１３，図１４参照）における実位置をサーボドライバ４００から取得する。当該実位置は、実空間上の座標値で表わされる。典型的には、当該実位置は、座標値（ｘ１、ｙ１、ｚ１）で表わされる。座標値ｘ１は、ｘ方向の座標に相当する。座標値ｙ１は、ｙ方向の座標に相当する。座標値ｚ１は、ｚ方向の座標に相当する。
【０１２０】
ステップＳ１５２において、制御装置２０１は、注目点Ｐ１が動作禁止領域ＡＲ２’に含まれたか否かを判断する。より具体的には、制御装置２０１は、注目点Ｐ１の座標値ｘ１，ｙ１が距離ｄと中心線ｃの方向と中心角θとで規定される扇形領域に含まれ、かつ、下記式（１）を満たす場合に、注目点Ｐ１が動作禁止領域ＡＲ２’に含まれたと判断する。
【０１２１】
Ｚmin＜ｚ１＜Ｚmin＋ｈ・・・（１）
制御装置２０１は、注目点Ｐ１が動作禁止領域ＡＲ２’に含まれたと判断した場合（ステップＳ１５２においてＹＥＳ）、制御をステップＳ１６２に切り替える。そうでない場合には（ステップＳ１５２においてＮＯ）、制御装置２０１は、制御をステップＳ１６０に切り替える。
【０１２２】
ステップＳ１６０において、制御装置２０１は、注目点Ｐ１が動作可能領域ＡＲ１’に含まれたか否かを判断する。より具体的には、制御装置２０１は、下記式（２）〜（５）のいずれかが満たされた場合に注目点Ｐ１が動作可能領域ＡＲ１’に含まれないと判断する。式（２），（３）に示される距離ｄ１は、ＸＹ平面における中心点Ｐ５から注目点Ｐ１までの距離に相当する。
【０１２３】
ｄ１＜Ｒmin・・・（２）
Ｒmax＜ｄ１・・・（３）
ｚ１＜Ｚmin・・・（４）
Ｚmin＋ｈ＜ｚ１・・・（５）
制御装置２０１は、注目点Ｐ１が動作可能領域ＡＲ１’から外れたと判断した場合（ステップＳ１６０においてＹＥＳ）、制御をステップＳ１６２に切り替える。そうでない場合には（ステップＳ１６０においてＮＯ）、制御装置２０１は、制御をステップＳ１５０に切り替える。
【０１２４】
ステップＳ１６２として、制御装置２０１は、上述の停止部２５６（図８参照）として、異常動作に対処するための予め定められた処理を実行する。一例として、制御装置２０１は、スカラロボット３００の停止処理を実行する。あるいは、制御装置２０１は、異常動作の報知処理を実行する。異常動作は、警告音や音声などの音によって報知されてもよいし、エラー画面などの表示によって報知されてもよい。
【０１２５】
なお、上述では、スカラロボット３００上の注目点Ｐ１の実位置に基づいて、スカラロボット３００の動作異常を判断するフローについて説明を行ったが、当該動作異常は、注目点Ｐ１の移動先に基づいて判断されてもよい。あるいは、当該動作異常は、注目点Ｐ１の現在位置から移動先までの軌跡に基づいて判断されてもよい。
【０１２６】
［Ｇ．第１の実施の形態のまとめ］
以上のようにして、本実施の形態に従う設定装置１００は、スカラロボット３００の動作禁止領域を設定するためのユーザインターフェイス１４０を提供する。ユーザインターフェイス１４０は、Ｚ方向からスカラロボット３００を表わした画像を表示し、ユーザは、当該画像に対して動作禁止領域ＡＲ２を二次元で設定することができる。設定装置１００は、設定された二次元の動作禁止領域ＡＲ２をＺ方向に拡張し、二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する。その後、設定装置１００は、三次元の動作禁止領域ＡＲ２’をコントローラ２００に設定する。このように、ユーザは、動作禁止領域ＡＲ２を二次元で設定することができ、動作禁止領域の設定操作が簡略化される。
【０１２７】
その後、スカラロボット３００は、ワークに対して予め定められた作業を行う。このとき、コントローラ２００は、スカラロボット３００上の所定の注目点が動作禁止領域ＡＲ２’に侵入したか否かを監視する。当該注目点が動作禁止領域ＡＲ２’に侵入した場合には、コントローラ２００は、スカラロボット３００の動作が異常であると判断する。
【０１２８】
上述のように、三次元の動作禁止領域ＡＲ２’は、二次元の動作禁止領域ＡＲ２をＺ方向に拡張したものであるので、三次元の動作禁止領域ＡＲ２’は単純な形状となる。そのため、コントローラ２００は、スカラロボット３００上の注目点が三次元の動作禁止領域ＡＲ２’に含まれたか否かを即座に判断することができる。これにより、演算時間が大幅に短縮される。
【０１２９】
＜第２の実施の形態＞
［Ａ．概要］
第１の実施の形態に従うユーザインターフェイス１４０は、扇形の動作禁止領域ＡＲ２の設定を受け付けるように構成されていた。これに対して、第２の実施の形態に従うユーザインターフェイス１４０は、多角形の動作禁止領域ＡＲ２の設定を受け付けるように構成される。
【０１３０】
第２の実施の形態に従う制御システム１のハードウェア構成などその他の点については第１の実施の形態に従う制御システム１と同じであるので、以下ではそれらの説明については繰り返さない。
【０１３１】
［Ｂ．ユーザインターフェイス１４０］
図１６を参照して、第２の実施の形態に従うユーザインターフェイス１４０について説明する。図１６は、第２の実施の形態に従うユーザインターフェイス１４０を示す図である。
【０１３２】
本実施の形態においては、ユーザは、ユーザインターフェイス１４０上で多角形の動作禁止領域ＡＲ２を設定することができる。図１６の例では、長方形の動作禁止領域ＡＲ２が設定されているが、設定され得る動作禁止領域ＡＲ２の形状は、正方形であってもよいし、六角形であってもよい。あるいは、設定され得る動作禁止領域ＡＲ２の形状は、円や楕円であってもよい。動作禁止領域ＡＲ２のサイズおよび位置は、任意の方法で設定される。たとえば、動作禁止領域ＡＲ２の位置およびサイズは、動作禁止領域ＡＲ２に対するドラッグ操作により設定される。図１６の例では、ユーザは、位置Ｐ８で操作部１０６を押下し、押下状態を維持したまま操作部１０６を位置Ｐ９まで移動させることで、動作禁止領域ＡＲ２を設定している。
【０１３３】
ユーザがＯＫボタン１４６を押下したことに基づいて、設定装置１００は、動作禁止領域ＡＲ２の位置およびサイズを記憶する。一例として、設定装置１００は、位置Ｐ８の座標値と位置Ｐ９の座標値とを記憶する。あるいは、設定装置１００は、位置Ｐ８の座標値および位置Ｐ９の座標値のいずれか一方と、動作禁止領域ＡＲ２の横幅および縦幅を記憶する。
【０１３４】
キャンセルボタン１４７が押下されると、設定装置１００は、二次元の動作禁止領域ＡＲ２の位置およびサイズを記憶せずにユーザインターフェイス１４０を閉じる。
【０１３５】
［Ｃ．動作禁止領域の拡張処理］
図１７を参照して、二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する処理について説明する。図１７は、第２の実施の形態における動作禁止領域ＡＲ２の拡張処理を概略的に示す概念図である。
【０１３６】
図１７に示されるように、設定装置１００は、二次元の動作禁止領域ＡＲ２をＺ方向に拡張することで、二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する。異なる言い方をすれば、設定装置１００は、Ｚ方向に直交する任意の平面上における三次元の動作禁止領域ＡＲ２’の形状が二次元の動作禁止領域ＡＲ２と等しくなるように、二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する。その結果、図１７の例では、ＸＹ平面における動作禁止領域ＡＲ２’の形状は、多角形の動作禁止領域ＡＲ２と等しくなる。
【０１３７】
上述のように、動作禁止領域ＡＲ２は、位置Ｐ８の座標値と、位置Ｐ９の座標値とで規定されているので、設定装置１００は、予め定められた変換式に基づいて、位置Ｐ８の座標値と位置Ｐ９の座標値とを実空間を表わす座標系に変換するとともに、当該座標系に高さｈを付加する。これにより、設定装置１００は、ユーザインターフェイス１４０上の座標系で表わされている動作禁止領域ＡＲ２を、実空間上の座標系で表わされる動作禁止領域ＡＲ２’に変換することができる。
【０１３８】
好ましくは、動作禁止領域ＡＲ２’の高さｈは、Ｚ方向における下限値および上限値に基づいて決定される。下限値および上限値は、予め設定されてもよいし、ユーザによって任意に設定されてもよい。下限値は、水平面上の所定の基準面（たとえば、地面）から動作禁止領域ＡＲ２’の底面までの距離に相当する。上限値は、当該基準面から動作禁止領域ＡＲ２’の上面までの距離に相当する。但し、下限値および上限値の両方が設定されている必要はなく、下限値および上限値のいずれか一方のみが設定されていればよい。
【０１３９】
［Ｄ．第２の実施の形態のまとめ］
以上のようにして、本実施の形態に従うユーザインターフェイス１４０は、多角形の動作禁止領域の設定を受け付ける。ユーザは、ユーザインターフェイス１４０上で様々な形状の動作禁止領域を設定することができるので、動作禁止領域をより正確に設定することができる。
【０１４０】
＜第３の実施の形態＞
［Ａ．概要］
第１の実施の形態に従うユーザインターフェイス１４０は、扇形の動作禁止領域ＡＲ２の設定を受け付けるように構成されていた。これに対して、第３の実施の形態に従うユーザインターフェイス１４０は、動作可能領域ＡＲ１に対する境界の設定により二次元の動作禁止領域ＡＲ２の設定を受け付けるように構成される。
【０１４１】
第３の実施の形態に従う制御システム１のハードウェア構成などその他の点については第１の実施の形態に従う制御システム１と同じであるので、以下ではそれらの説明については繰り返さない。
【０１４２】
［Ｂ．ユーザインターフェイス１４０］
図１８を参照して、第３の実施の形態に従うユーザインターフェイス１４０について説明する。図１８は、第３の実施の形態に従うユーザインターフェイス１４０を示す図である。
【０１４３】
本実施の形態においては、動作可能領域ＡＲ１に対して境界ＢＡを設定することで動作禁止領域ＡＲ２が設定される。図１８の例では、境界ＢＡのＹ方向の正側が動作禁止領域ＡＲ２として設定されているが、境界ＢＡのＹ方向の負側が動作禁止領域ＡＲ２として設定されてもよい。また、図１８の例では、境界ＢＡが直線で示されているが、境界ＢＡは、曲線など他の線で表わされてもよい。
【０１４４】
境界ＢＡの位置は、任意の方法で設定される。たとえば、ユーザは、境界ＢＡに対するドラッグ操作により境界ＢＡを移動することができる。あるいは、ユーザは、Ｙ方向における座標値を入力することにより境界ＢＡを設定してもよい。
【０１４５】
ユーザがＯＫボタン１４６を押下したことに基づいて、設定装置１００は、動作禁止領域ＡＲ２を記憶する。キャンセルボタン１４７が押下されると、設定装置１００は、二次元の動作禁止領域ＡＲ２を記憶せずにユーザインターフェイス１４０を閉じる。
【０１４６】
［Ｃ．動作禁止領域の拡張処理］
図１９を参照して、二次元の動作禁止領域ＡＲ２を三次元の動作禁止領域ＡＲ２’に拡張する処理について説明する。図１９は、第３の実施の形態における動作禁止領域ＡＲ２の拡張処理を概略的に示す概念図である。
【０１４７】
図１９に示されるように、設定装置１００は、境界ＢＡをＺ方向に拡張することで、境界ＢＡを境界ＢＡ’に拡張する。境界ＢＡ’よりもＹ軸の負側が動作可能領域ＡＲ１’に設定され、境界ＢＡ’よりもＹ軸の正側が動作禁止領域ＡＲ２’として設定される。
【０１４８】
好ましくは、動作禁止領域ＡＲ２’の高さｈは、Ｚ方向における下限値および上限値に基づいて決定される。下限値および上限値は、予め設定されてもよいし、ユーザによって任意に設定されてもよい。下限値は、水平面上の所定の基準面（たとえば、地面）から動作禁止領域ＡＲ２’の底面までの距離に相当する。上限値は、当該基準面から動作禁止領域ＡＲ２’の上面までの距離に相当する。但し、下限値および上限値の両方が設定されている必要はなく、下限値および上限値のいずれか一方のみが設定されていればよい。
【０１４９】
［Ｄ．第３の実施の形態のまとめ］
以上のようにして、本実施の形態に従うユーザインターフェイス１４０は、境界ＢＡの設定を受け付けることで動作禁止領域の設定を受け付ける。これにより、ユーザは、動作禁止領域の設定をより簡単な操作で行うことができる。
【０１５０】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１５１】
１  制御システム、１００  設定装置、１０１，２０１  制御装置、１０２  メモリ、１０３，２２０  記憶装置、１０３Ａ  アプリケーション、１０４  ネットワークインターフェイス、１０５  表示部、１０６  操作部、１０７  メモリカードリーダ・ライタ、１０７Ａ，２１６  メモリカード、１０８  内部バス、１４０  ユーザインターフェイス、１４２〜１４４  入力領域、１４６  ＯＫボタン、１４７  キャンセルボタン、１５２  設定部、１５４  拡張部、１５６，２５２  通信部、２００  コントローラ、２０２  チップセット、２０３  ローカルネットワークコントローラ、２０４  ＵＳＢコントローラ、２０５  メモリカードインターフェイス、２０６  主メモリ、２０８，２０９  フィールドバスコントローラ、２１０  内部バスコントローラ、２１１  Ｉ／Ｏユニット、２２１  ユーザプログラム、２２２  シーケンスシーケンスプログラム、２２３  モーションプログラム、２２４  設定プログラム、２５４  動作制御部、２５６  停止部、３００  スカラロボット、３２０  基台、３２２  第１回転軸、３２２Ａ，３２４Ａ，３２６Ａ，３２８Ａ，３３０Ａ  画像、３２４  第１アーム、３２６  第２回転軸、３２８  第２アーム、３３０  第３回転軸、３３１  主軸、３３２  作業ツール、３４０，３４０Ａ〜３４０Ｄ  サーボモータ、４００，４００Ａ〜４００Ｄ  サーボドライバ、４１０，４１４  差分演算部、４１２  位置制御部、４１６  速度制御部、４１８  加算部、４２０  トルクフィルタ、４２２  電流制御部、４２４  速度検知部。
【図１】
2018144145.tif 000003
【図２】
2018144145.tif 000004
【図３】
2018144145.tif 000005
【図４】
2018144145.tif 000006
【図５】
2018144145.tif 000007
【図６】
2018144145.tif 000008
【図７】
2018144145.tif 000009
【図８】
2018144145.tif 000010
【図９】
2018144145.tif 000011
【図１０】
2018144145.tif 000012
【図１１】
2018144145.tif 000013
【図１２】
2018144145.tif 000014
【図１３】
2018144145.tif 000015
【図１４】
2018144145.tif 000016
【図１５】
2018144145.tif 000017
【図１６】
2018144145.tif 000018
【図１７】
2018144145.tif 000019
【図１８】
2018144145.tif 000020
【図１９】
2018144145.tif 000021
【手続補正書】
【提出日】平成30年6月28日(2018.6.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
他の局面に従うと、ロボットの動作の設定を行うための設定装置が提供される。上記ロボットは、第１回転軸と、上記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、上記第１回転軸と平行に配置されており、上記第１アームに設けられている第２回転軸と、上記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、上記第２回転軸と平行な方向に駆動可能に構成され、上記第２アームに設けられている主軸とを備える。上記設定装置は、上記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを提供する設定部を備え、上記二次元の動作禁止領域は、上記主軸に直交する平面上の領域に相当する。上記設定装置は、さらに、上記二次元の動作禁止領域を上記主軸の方向に拡張することで、上記二次元の動作禁止領域を三次元の動作禁止領域に拡張するための拡張部と、上記三次元の動作禁止領域を上記ロボットのコントローラに送信するための通信部とを備える。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
他の局面に従うと、ロボットの動作を設定するための設定方法が提供される。上記ロボットは、第１回転軸と、上記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、上記第１回転軸と平行に配置されており、上記第１アームに設けられている第２回転軸と、上記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、上記第２回転軸と平行な方向に駆動可能に構成され、上記第２アームに設けられている主軸とを備える。上記設定方法は、上記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを表示するステップを備える。上記二次元の動作禁止領域は、上記主軸に直交する平面上の領域に相当する。上記設定方法は、さらに、上記二次元の動作禁止領域を上記主軸の方向に拡張することで、上記二次元の動作禁止領域を三次元の動作禁止領域に拡張するステップと、上記三次元の動作禁止領域を上記ロボットのコントローラに送信するステップとを備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
他の局面に従うと、ロボットの動作を設定するための設定プログラムが提供される。上記ロボットは、第１回転軸と、上記第１回転軸を中心として当該第１回転軸と直交する平面上において回転可能に構成されている第１アームと、上記第１回転軸と平行に配置されており、上記第１アームに設けられている第２回転軸と、上記第２回転軸を中心として当該第２回転軸と直交する平面上において回転可能に構成されている第２アームと、上記第２回転軸と平行な方向に駆動可能に構成され、上記第２アームに設けられている主軸とを備える。上記設定プログラムは、コンピュータに、上記ロボット上の所定の注目点について二次元の動作禁止領域の設定を受け付けるためのユーザインターフェイスを表示するステップを実行させる。上記二次元の動作禁止領域は、上記主軸に直交する平面上の領域に相当する。上記設定プログラムは、上記コンピュータに、さらに、上記二次元の動作禁止領域を上記主軸の方向に拡張することで、上記二次元の動作禁止領域を三次元の動作禁止領域に拡張するステップと、上記三次元の動作禁止領域を上記ロボットのコントローラに送信するステップとを実行させる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
第１アーム３２４および第２アーム３２８は、第２回転軸３２６によって連結されている。より具体的には、第１アーム３２４の一端は、第１回転軸３２２を介して基台３２０に連結されており、第１アーム３２４の他端は、第２回転軸３２６を介して第２アーム３２８に連結されている。第２回転軸３２６は、サーボモータ３４０Ｂ（図１参照）によって回転駆動される。その結果、第２アーム３２８は、第２回転軸３２６を中心に回転駆動される。第１アーム３２４と第２アーム３２８とが連動して回転駆動されることで、第２アーム３２８は、動作可能領域ＡＲ１内で動作することができる。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
ユーザインターフェイス１４０は、スカラロボット３００を概略的に表わす画像を表示する。当該画像は、Ｚ方向から見た場合のスカラロボット３００を表わす。より具体的には、ユーザインターフェイス１４０は、基台３２０を表わす画像３２０Ａと、第１回転軸３２２を表わす画像３２２Ａと、第１アーム３２４を表わす画像３２４Ａと、第２回転軸３２６を表わす画像３２６Ａと、第２アーム３２８を表わす画像３２８Ａと、第３回転軸３３０を表わす画像３３０Ａとを表示する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
ステップＳ４２において、コントローラ２００は、予め設定されている作業工程に従って、第１アーム３２４、第２アーム３２８、および主軸３３１の移動先を決定するとともに、スカラロボット３００上の所定の注目点の移動先を決定する。図７は、スカラロボット３００上の注目点Ｐ１，Ｐ２を表わす図である。注目点Ｐ１は、主軸３３１に対する作業ツール３３２の取り付け部分上の点である。すなわち、注目点Ｐ１は、地面側における主軸３３１の先端上の点に相当する。注目点Ｐ２は、地面側における作業ツール３３２の先端部に相当する。コントローラ２００は、予め設定されている作業工程に従って、注目点Ｐ１，Ｐ２の移動先を決定する。なお、注目点Ｐ１，Ｐ２は、スカラロボット３００上の他の点であってもよく、たとえば、第１アーム３２４と第２アーム３２８との接続側とは異なる側の第２アーム３２８の端部（先端）上の点であってもよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
なお、設定部１５２、拡張部１５４、および通信部１５６は、必ずしも設定装置１００に実装される必要はなく、その他の装置に実装されてもよい。一例として、設定装置１００の機能構成の少なくとも一部は、コントローラ２００に実装されてもよい。あるいは、設定装置１００の機能構成の一部は、サーバなどの外部装置に実装されてもよい。この場合、サーバが本実施の形態に従う制御プログラムの処理の一部を実行する所謂クラウドサービスのような形態で設定装置１００が構成される。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００８３
【補正方法】変更
【補正の内容】
【００８３】
なお、通信部２５２、入力部２５３、動作制御部２５４、および停止部２５６は、必ずしもコントローラ２００に実装される必要はなく、その他の装置に実装されてもよい。一例として、コントローラ２００の機能構成の少なくとも一部は、他の装置（たとえば、スカラロボット３００）に実装されてもよい。あるいは、コントローラ２００の機能構成の少なくとも一部は、サーバなどの外部装置に実装されてもよい。この場合、サーバが本実施の形態に従う制御プログラムの処理の一部を実行する所謂クラウドサービスのような形態でコントローラ２００が構成される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００８６
【補正方法】変更
【補正の内容】
【００８６】
典型的には、サーボドライバ４００においては、位置についてのメインループに加えて、速度についてのマイナーループを含む、制御ループが実装されている。より具体的には、サーボドライバ４００は、機能構成として、差分演算部４１０，４１４と、位置制御部４１２と、速度制御部４１６と、トルクフィルタ４２０と、電流制御部４２２と、速度検知部４２４とを含む。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
速度制御部４１６は、速度についての制御ループを構成する制御演算部であり、差分演算部４１４において算出される、位置制御部４１２からの制御量と速度検知部４２４からの実速度との偏差に応じた制御量を出力する。速度制御部４１６としては、典型的には、ＰＩ（比例積分）制御が用いられてもよい。つまり、速度制御部４１６は、差分演算部４１４からの指令速度と実速度との偏差に対して、比例係数を乗じた値と積分要素によって積分された値との和を制御量として出力する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
記憶装置２２０は、たとえば、二次記憶装置である。記憶装置２２０には、ＰＬＣエンジンを実現するためのシステムプログラムに加えて、ＰＬＣエンジンを利用して実行されるユーザプログラム２２１などが格納される。ユーザプログラム２２１は、論理的な演算を主とするシーケンスプログラム２２２、位置制御や速度制御などの数値的な演算を主とするモーションプログラム２２３、スカラロボット３００の設定プログラム２２４などを含む。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
ステップＳ１５０において、制御装置２０１は、スカラロボット３００上の注目点Ｐ１（図１３，図１４参照）における実位置をサーボドライバ４００から取得する。当該実位置は、実空間上の座標値で表わされる。典型的には、当該実位置は、座標値（ｘ１、ｙ１、ｚ１）で表わされる。座標値ｘ１は、Ｘ方向の座標に相当する。座標値ｙ１は、Ｙ方向の座標に相当する。座標値ｚ１は、Ｚ方向の座標に相当する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１５１
【補正方法】変更
【補正の内容】
【０１５１】
１  制御システム、１００  設定装置、１０１，２０１  制御装置、１０２  メモリ、１０３，２２０  記憶装置、１０３Ａ  アプリケーション、１０４  ネットワークインターフェイス、１０５  表示部、１０６  操作部、１０７  メモリカードリーダ・ライタ、１０７Ａ，２１６  メモリカード、１０８  内部バス、１４０  ユーザインターフェイス、１４２〜１４４  入力領域、１４６  ＯＫボタン、１４７  キャンセルボタン、１５２  設定部、１５４  拡張部、１５６，２５２  通信部、２００  コントローラ、２０２  チップセット、２０３  ローカルネットワークコントローラ、２０４  ＵＳＢコントローラ、２０５  メモリカードインターフェイス、２０６  主メモリ、２０８，２０９  フィールドバスコントローラ、２１０  内部バスコントローラ、２１１  Ｉ／Ｏユニット、２２１  ユーザプログラム、２２２  シーケンスシーケンスプログラム、２２３  モーションプログラム、２２４  設定プログラム、２５４  動作制御部、２５６  停止部、３００  スカラロボット、３２０  基台、３２２  第１回転軸、３２２Ａ，３２４Ａ，３２６Ａ，３２８Ａ，３３０Ａ  画像、３２４  第１アーム、３２６  第２回転軸、３２８  第２アーム、３３０  第３回転軸、３３１  主軸、３３２  作業ツール、３４０，３４０Ａ〜３４０Ｄ  サーボモータ、４００，４００Ａ〜４００Ｄ  サーボドライバ、４１０，４１４  差分演算部、４１２  位置制御部、４１６  速度制御部、４２０  トルクフィルタ、４２２  電流制御部、４２４  速度検知部。
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2018144145.tif 000022
【手続補正１６】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2018144145.tif 000023
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】図１３
【補正方法】変更
【補正の内容】
【図１３】
2018144145.tif 000024