(57)【要約】【課題】互換性を高めるとともに汎用性を向上させる。【解決手段】複数種の装置ユニットを接続して構成され、複数の駆動モータを備えた作業ロボット６を制御するコントローラ１００であって、複数種の装置ユニットのそれぞれは、当該装置ユニットの制御機能に対応して規定されてその仕様内容が公開された所定のインターフェース規格に準拠する制御信号を、接続する他の装置ユニットから受信して制御機能を実行する。複数種の装置ユニットとしては、作業ロボット６に行わせる作業内容を制御する作業制御装置３と、作業制御装置３による作業内容を実現するために、作業ロボット６の各駆動モータそれぞれの動作内容を制御する多軸動作制御装置４と、多軸動作制御装置４による動作内容を実現するために、各駆動モータそれぞれに対する給電駆動を制御する駆動制御装置５と、を有する。【選択図】図２
2018037038.tif 000002
【特許請求の範囲】
【請求項１】
複数種の制御機能部を接続して多軸制御機械を制御するコントローラであって、
前記複数種の制御機能部のそれぞれは、
当該制御機能部の制御機能に対応して規定された所定のインターフェース規格に準拠する制御信号を、接続する他の制御機能部から受信して前記制御機能を実行する
ことを特徴とするコントローラ。
【請求項２】
前記インターフェース規格は、その仕様内容が公開されていることを特徴とする請求項１記載のコントローラ。
【請求項３】
前記複数種の制御機能部は、
前記多軸制御機械に行わせる作業内容を制御する作業制御部と、
前記作業制御部による作業内容を実現するために、前記多軸制御機械が備える複数の駆動軸それぞれの動作内容を制御する多軸動作制御部と、
前記多軸動作制御部による動作内容を実現するために、前記複数の駆動軸それぞれに対する給電駆動を制御する駆動制御部と、
を有することを特徴とする請求項１又は２記載のコントローラ。
【請求項４】
前記作業制御部は、
前記多軸動作制御部のインターフェース規格に準拠したＡＰＩ群（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ群）を実行可能であることを特徴とする請求項３記載のコントローラ。
【請求項５】
前記作業制御部は、
前記多軸動作制御部のインターフェース規格に準拠したラダープログラムを実行可能であることを特徴とする請求項３記載のコントローラ。
【請求項６】
前記多軸動作制御部は、
任意に設定された前記多軸制御機械の機構条件に基づいて前記複数の駆動軸それぞれの動作内容を制御することを特徴とする請求項３乃至５のいずれか１項に記載のコントローラ。
【請求項７】
多軸制御機械に行わせる作業内容を制御する作業制御機能に対応して規定された作業制御インターフェース規格に準拠する制御信号を、接続する他の制御装置から受信して前記作業制御機能を実行することを特徴とする作業制御装置。
【請求項８】
多軸制御機械が備える複数の駆動軸それぞれの動作内容を制御する動作制御機能に対応して規定された動作制御インターフェース規格に準拠する制御信号を、接続する他の制御装置から受信して前記動作制御機能を実行することを特徴とする多軸動作制御装置。
【請求項９】
多軸制御機械が備える複数の駆動軸それぞれに対する給電駆動を制御する駆動制御機能に対応して規定された動作制御インターフェース規格に準拠する制御信号を、接続する他の制御装置から受信して前記駆動制御機能を実行することを特徴とする駆動制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、コントローラ、作業制御装置、多軸動作制御装置、及び駆動制御装置に関する。
【背景技術】
【０００２】
特許文献１には、機械装置の運動を制御するために、ＰＬＣ、モーションコントローラ、サーボドライバを備えて処理を分担させたモーションコントロールシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−９７３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら上記従来技術では、ＰＬＣとモーションコントローラの間で制御コマンドの形式変換を行うといった専用の接続仕様となっているため両者の組み合わせが固定化されており互換性が低く、多様な仕様の多軸制御機械に適用させるための汎用性が低いという問題があった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、互換性を高めるとともに汎用性を向上させたコントローラ、作業制御装置、多軸動作制御装置、及び駆動制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、複数種の制御機能部を接続して多軸制御機械を制御するコントローラであって、前記複数種の制御機能部のそれぞれは、当該制御機能部の制御機能に対応して規定された所定のインターフェース規格に準拠する制御信号を、接続する他の制御機能部から受信して前記制御機能を実行するコントローラが適用される。
【０００７】
また、本発明の別の観点によれば、多軸制御機械に行わせる作業内容を制御する作業制御機能に対応して規定された作業制御インターフェース規格に準拠する制御信号を、接続する他の制御装置から受信して前記作業制御機能を実行する作業制御装置が適用される。
【０００８】
また、本発明の別の観点によれば、多軸制御機械が備える複数の駆動軸それぞれの動作内容を制御する動作制御機能に対応して規定された動作制御インターフェース規格に準拠する制御信号を、接続する他の制御装置から受信して前記動作制御機能を実行する多軸動作制御装置が適用される。
【０００９】
また、本発明の別の観点によれば、多軸制御機械が備える複数の駆動軸それぞれに対する給電駆動を制御する駆動制御機能に対応して規定された動作制御インターフェース規格に準拠する制御信号を、接続する他の制御装置から受信して前記駆動制御機能を実行する駆動制御装置が適用される。
【発明の効果】
【００１０】
本発明によれば、多軸制御機械の制御を行う際の制御機能部間の互換性を高め、汎用性を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態のコントローラを備えたロボットシステムの概略的なハードウェアユニット構成の一例を表す図である。
【図２】実施形態のコントローラのソフトウェアシステム構成の一例を表す図である。
【図３】比較例のコントローラのソフトウェアシステム構成の一例を表す図である。
【図４】作業制御装置をＰＬＣモジュールで構成した場合のロボットシステムの概略的なハードウェアユニット構成の一例を表す図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態について図面を参照しつつ説明する。
【００１３】
＜ロボットシステムの概略構成＞
図１は、本実施形態のコントローラを備えたロボットシステムの概略的なハードウェアユニット構成の一例を表している。このロボットシステムは、コンソールを介した使用者からの操作によって、多軸制御機械であるロボットに予め設定された所定の作業を行わせるシステムである。図１においてロボットシステム１は、コンソール２と、作業制御装置３と、多軸動作制御装置４と、駆動制御装置５と、作業ロボット６とを有している。
【００１４】
コンソール２は、当該ロボットシステムの使用者が作業ロボット６に対して所定作業の実行を開始させるための操作入力を受け付け、その操作入力に基づく作業制御信号を作業制御装置３に出力する操作盤である。またこのコンソール２は、後述するように作業制御装置３から入力された各種の情報を表示する機能も有する。
【００１５】
作業制御装置３（制御機能部、作業制御部）は、コンソール２から入力された作業制御信号に基づいて、作業ロボット６に実行させる作業内容を制御する演算処理装置である。具体的な作業内容としては、例えば作業ロボット６のアーム先端部に対する位置移動や姿勢変化の工程、またはアーム先端部に設けられたロボットハンドなどのエンドエフェクタ（図示省略）の動作について予め設定された所定の時系列手順からなるシーケンスである。作業制御装置３は、作業内容の時系列手順に従って多軸動作制御装置４に動作制御信号を出力する。
なお本実施形態では作業制御装置３が作業ロボット６を制御する例に基づいて説明するが、作業制御装置３はロボットに限らず、多軸制御機械全般を制御対象とすることができる。
【００１６】
多軸動作制御装置４（制御機能部、多軸動作制御部）は、上記作業制御装置３から入力された動作制御信号に基づいて、作業ロボット６に上記作業内容（アーム先端部の位置、姿勢等）を実現するために当該作業ロボット６が備える複数の駆動モータ（駆動軸；図示省略）それぞれの動作内容を制御する演算処理装置である。具体的な動作内容としては、駆動モータの回転位置、回転速度、又はトルクの時系列変化である。多軸動作制御装置４は、動作内容の時系列変化に従って複数の駆動制御装置５にそれぞれ駆動制御信号を出力する。
【００１７】
駆動制御装置５（制御機能部、駆動制御部）は、作業ロボット６が備える駆動モータと同数（後述するようにこの例では６つ）でそれぞれに個別に対応して設けられるいわゆるサーボアンプである。各駆動制御装置５は、上記多軸動作制御装置４からそれぞれ入力された駆動制御信号に基づいて、多軸動作制御装置４による上記動作内容（回転位置、回転速度、トルク）を実現するために各駆動モータそれぞれに対する給電駆動を制御する。本実施形態の例におけるこの給電駆動は、外部電源７から給電された交流電力を内部に備えるコンバータ（図示省略）によって直流電力に変換し、この直流電力を内部に備えるインバータ（図示省略）によって上記駆動制御信号に基づくＰＷＭ制御により所定の交流駆動電力に変換し、この交流駆動電力を対応する駆動モータに給電して駆動制御する。
なお駆動制御装置５は、１つの筐体で複数の駆動モータを個別に駆動制御するように構成されていても良い。
【００１８】
作業ロボット６（多軸制御機械）は、本実施形態の例では６つの駆動モータを備えており、それら駆動モータの協調動作によって設定座標系におけるアーム先端部の位置及び姿勢を制御するマニプレータである。なお、アーム先端部には特に図示しないロボットハンドなどのエンドエフェクタを設けてもよい。また、当該ロボットシステムが制御する対象のロボットとしては、図１のように６軸で駆動する垂直多関節型ロボットに限定されない。３つ以上の駆動モータで協調駆動されるパラレルリンクロボット、水平多関節型ロボット（スカラロボット）、直交座標系ロボット、及び円筒座標系ロボットや、２つ以上の駆動モータで協調駆動されるＮＣ制御装置、ステージ装置、リニアスライダなどの他の多軸制御機械を適用してもよい。
【００１９】
上記構成のロボットシステムにおいて、作業制御装置３、多軸動作制御装置４、及び駆動制御装置５をまとめてコントローラ１００と称する。このコントローラ１００は、作業ロボット６の制御に直接関係する各種の演算処理や電力制御を行う制御部として機能する。コンソール２は、このコントローラ１００に対して作業ロボット６に実行させる作業の種類とその開始契機を作業制御信号で指令するとともに、コントローラ１００から入力した各種情報を使用者に対して表示する。この表示する情報としては、例えば作業ロボット６の各駆動モータに設けたエンコーダ（図示省略）で検出した当該駆動モータの回転位置及び回転速度、各駆動制御装置５に設けた例えばホール素子等の電流センサ（図示省略）で検出した駆動電力（トルクに対応）、または演算処理結果などの情報である。
【００２０】
作業制御装置３、多軸動作制御装置４、及び駆動制御装置５は、それぞれ独立した装置ユニット（制御機能部）として構成され、相互に信号送受可能に接続されている。図示する例では、各装置ユニットがそれぞれ個別の筐体に収納されているが、いずれかの組み合わせで複数の装置ユニットを同一の筐体内に収納してもよい。各装置ユニットどうしの間で信号送受する接続バスには、例えばＲＳ２３２Ｃ、Ｅｔｈｅｒｎｅｔ（登録商標）、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）など一般的な通信規格に準拠したものを用いることでハードウェア的、通信プロトコル的に互換性を持つことができる。
【００２１】
＜実施形態のコントローラのソフトウェアシステム構成＞
上記の作業制御装置３及び多軸動作制御装置４をそれぞれ構成する演算処理装置や、上記の駆動制御装置５の一部は、ＣＰＵ、ＲＯＭ、ＲＡＭを備えたコンピュータであり、本実施形態では各装置ユニットのコンピュータがソフトウェア処理によって図２に示す各処理ブロックを実行する。この図２において、作業制御装置３は、作業制御インターフェース１１、アプリケーション実行１３、モーションプログラム実行１４、及びネットワーク処理１５の各処理ブロックを実行可能となっている。
【００２２】
作業制御インターフェース１１は、コンソール２からの作業制御信号の入力を受け付けて対応する作業内容を他の処理ブロックに処理させる。
【００２３】
アプリケーション実行１３は、作業ロボット６に実行させる作業内容に適した機能を提供する処理ブロックである。図２では、作業ロボット６に実行させる作業内容としてハンドリングを挙げている。ハンドリングとは、作業ロボット６のアーム先端部に設けられたロボットハンドによってワークを把持したり吸着したりした後、作業ロボット６のアームを動作させてワークを最初にあった場所から異なる場所へ移動させる作業一般を指し、ロボットのアプリケーションの一つである。図２の「ハンドリンク機能」は作業ロボット６によるアプリケーションに応じた処理ブロックの例として挙げたものであり、作業ロボット６が適用される作業に応じて、例えばアーク溶接機能やスポット溶接機能に置き換え可能である。
【００２４】
ハンドリング機能は、ハンドリング用途に必要十分な機能を提供する。具体的にはロボットハンドの開閉動作を行う機能（ロボットハンドによりワークを把持する場合）や、エアシリンダの駆動を行う機能（ロボットハンドによりワークを吸着する場合）や、ワークの位置や姿勢を取得するカメラなどのセンサ（図示省略）から情報を取得する機能などである。同様に、アーク溶接機能やスポット溶接機能に置き換えた場合もそれぞれの作業に必要十分な機能を提供する。例えばアーク溶接機能の場合は、溶接電源に対し溶接電圧や溶接電流を指令する機能や、溶接ワイヤ送給装置を駆動する機能、作業ロボット６にウィービング動作をさせる機能などを提供する。またスポット溶接機能の場合は、作業ロボット６のアーム先端部に設けられたスポット溶接ガンに対しワーク押圧力を指定する機能や、スポット溶接ガンの電極の研磨を行う機能などを提供する。
【００２５】
モーションプログラム実行１４は、上記アプリケーション実行１３で規定されている機能を活用して所定の作業内容を実現するために、作業ロボット６のアーム先端部が移動するべき複数の位置や、ロボットハンドの開閉などの所定の時系列手順が記述されたファイルであるモーションプログラムを解釈して実行する。ロボット以外の多軸制御機械を制御する場合には、多軸制御機械に実行させる作業内容に対応して用意されたプログラムを実行する。なお作業ロボット６用のモーションプログラムを特に「ＪＯＢ」と呼び、この場合「モーションプログラム実行」を「ＪＯＢ実行」とする。
【００２６】
ネットワーク処理１５は、ＰＬＣや汎用ＰＣ等の外部機器とのネットワーク通信を処理する。
【００２７】
作業制御装置３のコンピュータは、上記のアプリケーション実行１３の処理ブロックと、上記のモーションプログラム実行１４の処理ブロックについて、その内容を書き換えることができるように構成されている。つまり作業制御装置３のコンピュータは、これらの処理ブロックにそれぞれ、目的とする作業内容を実現するためのプログラムを選択的にインストールして実行することで、入力された作業制御信号に基づき目的とする作業内容に対応した動作制御信号を出力する。なお、上記のアプリケーション実行１３、モーションプログラム実行１４、及びネットワーク処理１５の各処理ブロックが実現する制御機能が、各請求項記載の作業制御機能に相当する。
【００２８】
多軸動作制御装置４は、動作制御インターフェース２１、軌道計画２２、指令生成２３、及びロボットモーション制御２４の各処理ブロックを実行可能となっている。
【００２９】
動作制御インターフェース２１は、作業制御装置３からの動作制御信号の入力を受け付けて対応する動作内容を他の処理ブロックに処理させる。
【００３０】
軌道計画２２は、動作内容を実現するために例えば設定座標中でアーム先端部が通過すべき軌道を計算する。
【００３１】
指令生成２３は、上記軌道計画２２で計算した軌道でアーム先端部を通過させるために各駆動モータに指令すべき位置指令、速度指令、又はトルク指令をいわゆる逆キネマティクス演算により生成する。
【００３２】
ロボットモーション制御２４は、軌道上でのアーム先端部の移動を円滑に行わせるために上記の位置指令、速度指令、又はトルク指令を補正する。例えば作業ロボット６の所定の関節軸を駆動するのに要求されるトルクは、当該所定の関節軸より先端側に位置する他の関節軸の回動角度（先端側のアーム姿勢）によって変化する。ロボットモーション制御２４は、このようなロボットに特有のモーメント変動を考慮したトルク指令の補正を行ったり、振動を抑制するための各指令の補正を行ったりしてロボットの動作軌跡精度を向上させる。
【００３３】
多軸動作制御装置４のコンピュータは、各処理ブロックをそれぞれ実現するプログラムを実行することで、入力された動作制御信号に基づいて目的とする各駆動モータの動作内容に対応した駆動制御信号を各駆動制御装置５に出力する。なお、駆動制御装置５は、その駆動制御信号の仕様を適宜変更することで、一般的に使用されている汎用サーボアンプ６１の制御も可能である。なお、上記の軌道計画２２、指令生成２３、及びロボットモーション制御２４の各処理ブロックが実現する制御機能が、各請求項記載の動作制御機能に相当する。
【００３４】
駆動制御装置５は、駆動制御インターフェース３１、位置・速度・電流制御３２、及びインバータ制御３４の各処理ブロックを実行可能となっている。
【００３５】
駆動制御インターフェース３１は、多軸動作制御装置４からの駆動制御信号の入力を受け付けて対応する給電制御を他の処理ブロックに処理させる。
【００３６】
位置・速度・電流制御３２は、例えば位置フィードバックループ、速度フィードバックループ、及び電流フィードバックループを介して駆動制御信号に対応したＰＷＭ制御信号を出力する。
【００３７】
インバータ制御３４は、上記位置・速度・電流制御３２から入力されたＰＷＭ制御信号に基づいて当該駆動制御装置５に備えられた上記インバータによる直流から交流への電力変換を制御し、この交流電力を駆動電力として駆動モータに出力する。なお、このインバータ制御３４については、上記ＰＷＭ制御信号で作動するゲートドライブ回路などのハードウェアで構成してもよい。
【００３８】
なお、作業ロボット６のアーム先端部に設けられたロボットハンドなどのエンドエフェクタは、駆動モータと同等の制御対象として作業制御装置３及び多軸動作制御装置４により制御されるように構成することもできる。このとき、エンドエフェクタの駆動を制御する駆動制御装置は、上述した駆動モータ制御用の駆動制御装置５とは異なり当該エンドエフェクタの仕様に応じた構成のものを使用する。また、上記の位置・速度・電流制御３２、及びインバータ制御３４の各処理ブロックが実現する制御機能が、各請求項記載の駆動制御機能に相当する。
【００３９】
＜比較例のコントローラのソフトウェアシステム構成＞
上記のように３つの装置ユニットを接続して構成された本実施形態のコントローラ１００の特徴点について説明する前に、比較例として図３に示すような処理ブロックの集合によって構成されるコントローラ２００について説明する。図３に示す比較例のコントローラ２００については、説明のために、処理ブロックの集合をその機能に応じて大まかに上位制御部８、モータ制御部９の２つに分けている。上位制御部８とモータ制御部９とは相互に信号送受可能に接続して構成されている。
【００４０】
図３の例では、上位制御部８は、上位制御インターフェース４１、上位システム４２、及び多軸動作制御部４３の各処理ブロックを実行可能となっており、コンソール２から入力された上位制御信号に基づいて生成したサーボ制御信号をモータ制御部９に出力する。
【００４１】
上位制御インターフェース４１は、コンソール２からの作業制御信号の入力を受け付けて対応する作業内容を他の処理ブロックに処理させる。
【００４２】
上位システム４２は、標準アプリケーション４４、ＪＯＢ実行１４、及びネットワーク処理１５の各処理ブロックを実行可能となっている。標準アプリケーション４４は、例えばアーク溶接、スポット溶接、またはハンドリングなどの使用用途毎に用意されたプログラムで実現する処理ブロックである。その他のＪＯＢ実行１４及びネットワーク処理１５の処理ブロックは、それぞれ上記実施形態で実行する処理ブロックと同等である。
【００４３】
多軸動作制御部４３は、軌道計画２２、及び指令生成２３の各処理ブロックを実行可能となっている。軌道計画２２及び指令生成２３の処理ブロックは、それぞれ上記実施形態で実行する処理ブロックと同等である。
【００４４】
モータ制御部９は、多軸サーボ制御部５１、単軸サーボ制御部５２、及び給電制御部５３を有しており、上位制御部８から入力されたサーボ制御信号に基づいて給電制御した駆動電力を駆動モータに給電する。
【００４５】
多軸サーボ制御部５１は、上記実施形態と同等のロボットモーション制御２４の処理ブロックを実行する。単軸サーボ制御部５２は、上記実施形態と同等の位置・速度・電流制御３２の処理ブロックを実行する。給電制御部５３は、上記実施形態と同等のインバータ制御３４の処理ブロックを実行する。
【００４６】
以上のソフトウェアシステム構成にある比較例のコントローラ２００によれば、その全体が上記実施形態のコントローラ１００と同等に機能できる。
【００４７】
＜本実施形態の特徴＞
以上説明したように、いわゆるロボット、マニプレータ、ＮＣ制御装置などの複数の駆動軸を協調駆動させる多軸制御機械に対し、所定手順での作業を行わせるためには多数の演算処理を複雑かつ密接に連携して行う。このため、多軸制御機械を制御するコントローラには、それぞれ演算装置（ＣＰＵ）を備えた複数種の装置ユニットを接続し、上記多数の演算処理を分担して実行する場合が多い。
【００４８】
上記図３に示した比較例のコントローラ２００では、大まかに２つに分けられる機能部とそれらの間で送受する制御信号の仕様を含めた全体の構成が、特定の仕様の作業ロボット６に特定の作業を行わせる専用のものとして設計することができる。このため、当該特定のロボットの専用コントローラとしては、全体の小型化及び低コスト化が可能となっていた。
【００４９】
一方近年では、多様な機構条件にある複数種の作業ロボット６のいずれにも、また多様な作業用途にも対応できるようコントローラに汎用性が要望されている。この場合、作業ロボット６の仕様や使用目的に応じた適切なシステムを実現するためには、コントローラを構成する各装置ユニットの設計自由度を確保してそれらのハードウェアリソースの冗長性を抑えることが望まれる。つまり、各装置ユニットが、使用目的に応じてそれぞれに要求される性能や仕様を満たす最小限のハードウェア構成に設計変更可能なようにシステム設計の自由度が求められる。
【００５０】
しかしながら上記比較例で示した専用コントローラの構成では、例えば前述の２つの機能部に各々対応する装置ユニットを設ける場合、作業ロボット６の機構条件が２つの装置ユニットそれぞれの処理内容に関係するため、機構条件を含むロボットの仕様が決まらないと両方の装置ユニットを作れない。また、両方の装置ユニットが相互に専用の接続仕様（送受する指令信号の内容が非公開）となって互換性がないため、両方の装置ユニットをまとめて購入、使用しなければならない。さらに、作業内容が単純であるなどの理由によって上位システム４２だけをより簡易化したくても、上位制御部８の装置ユニット内で多軸動作制御部４３と一体固定化されているためハードウェアリソース的に冗長になってしまう。このように比較例のコントローラ２００の構成では、各装置ユニット間の互換性が低いことから設計自由度が低く、上記の汎用性を実現しようとした場合には逆に大型化、高コストを招いていた。比較例のコントローラ２００では、上位制御部８、モータ制御部９とは異なる部分で装置ユニットを分けた場合でも同様の問題が発生する。
【００５１】
これに対し上記図２に示した本実施形態のコントローラ１００では、コントローラが備える複数種の装置ユニットのそれぞれが、当該装置ユニットが実行する処理ブロックの制御機能に対応して規定された所定のインターフェース規格に準拠する制御信号を、接続する他の装置ユニットから受信してその制御機能を実現する。これにより、各装置ユニット間における連携処理機能及び互換性を確保しながらそれぞれをカスタマイズすることが可能となり、すなわちコントローラ１００全体の設計自由度が向上する。
【００５２】
また本実施形態のコントローラ１００は、作業制御装置３、多軸動作制御装置４、及び駆動制御装置５の３つの装置ユニットで構成されている。これにより、作業ロボット６の制御処理内容（作業内容、動作内容、駆動制御）を装置ユニット毎に機能的に区別でき、それぞれに対応する演算処理を各装置ユニットに分担させることができる。
【００５３】
以上の本実施形態における２つの特徴点について、順に詳細に説明する。
【００５４】
＜インターフェース規格について＞
上述したように、本実施形態のコントローラ１００を構成する各装置ユニットは、いずれもインターフェースの処理ブロックを実行可能となっている。これら作業制御インターフェース１１、動作制御インターフェース２１、及び駆動制御インターフェース３１の処理ブロックは、各装置ユニットが実行する処理ブロックの制御機能に対応して規定された所定のインターフェース規格に準拠する制御信号を接続する他の装置ユニットから受信して同じ装置ユニットの他の処理ブロックの制御機能を実行させる。
【００５５】
ここで、本実施形態におけるインターフェース規格とは、接続バスの通信プロトコルよりも上位階層のプロトコルを用いたソフトウェア上の規格であり、具体的には作業制御信号、動作制御信号、及び駆動制御信号のそれぞれの内容に相当するコマンドやパラメータ指定、情報の授受などの仕様に関する規格である。
【００５６】
そして本実施形態では、作業制御装置３の作業制御インターフェース１１、多軸動作制御装置４の動作制御インターフェース２１、及び駆動制御装置５の駆動制御インターフェース３１のそれぞれのインターフェース規格の仕様内容が公開されている。この公開とは、ネットワーク通信や記録媒体を介して入手可能なデータの形式や、広く頒布された冊子等の形態で、製品マニュアルや仕様書の態様としてだれでも容易に入手可能な状態となっていることである。つまり、各インターフェース規格は、当該コントローラ１００の製造メーカ以外の多様なメーカが利用可能に公知化される。これにより、多様な製造メーカもしくはロボットシステムのユーザ独自で各装置ユニットを製造した場合でも、インターフェース規格に準拠するものであれば製造者に限定されずに各装置ユニットを任意に選択して適用することができ、装置ユニット間の互換性が向上する。
【００５７】
また特に作業制御装置３の作業制御インターフェース１１においては、当該作業制御装置３のＣＰＵに実行させる処理ブロックを任意にプログラミングできるよう、例えばＣ言語などの所定のプログラミング言語を外部から記述して記憶、実行できるインターフェース規格としてもよい。この場合には、上記コンソール２が作業制御装置３のプログラムをコーディングするインターフェースとして機能する。
【００５８】
＜３ユニット構成について＞
また上述したように、本実施形態のコントローラ１００は、作業制御装置３、多軸動作制御装置４、及び駆動制御装置５の３つの装置ユニットで構成されている。これにより、作業ロボット６の制御処理内容（作業内容、動作内容、駆動制御）を装置ユニット毎に機能的に区別でき、それぞれに対応する演算処理を各装置ユニットに分担させることができる。
【００５９】
例えば、作業制御装置３は、作業ロボット６に実行させる作業内容の処理内容や処理負荷に応じて当該ロボットシステムの使用者自身で自由に設計できる。なお本実施形態の例では、作業制御装置３は、多軸動作制御装置４の動作制御インターフェース２１のインターフェース規格に準拠したＡＰＩ群（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ群）が実行可能となっている。ＡＰＩ群は、コマンド群、関数群、ソフトウェアライブラリ等と言い換えても良い。
【００６０】
また、作業ロボット６における各駆動モータの配置・姿勢・出力・減速比、各アームの長さ・イナーシャ、及び設定座標等の機構条件は、多軸動作制御装置４の処理内容だけに関係する。このため、作業ロボット６の仕様に合わせて作成、設定するのは多軸動作制御装置４だけでよく、他の装置ユニットの設計において作業ロボット６の機構条件による影響を排除できる。つまり、作業制御装置３及び駆動制御装置５は、制御対象となる作業ロボット６の仕様が確定されていない状態でも無関係に設計できる。
【００６１】
また、駆動制御装置５は、作業ロボット６が備える各駆動モータ毎にその容量に合わせて適宜選択するだけでよく、一般的に使用される汎用サーボアンプ６１も含めた簡易かつ機能的な適用が可能となる。
【００６２】
また、多軸動作制御装置４、駆動制御装置５、及び作業ロボット６を１つのセット（ハードウェア制御セット）として、これを作業制御装置３（作業アプリケーション）に対して互換性を持たせることも可能となる。さらに、制御する対象である多軸制御機械がステージ装置やリニアスライドである場合には、作業ロボット６に比べ単純な構成でかつ剛性が高いため、指令生成２３での逆キネマティクス演算やロボットモーション制御２４での振動抑制のための処理が必ずしも必要ではない。よって多軸制御機械の構成が単純な場合には、多軸動作制御装置４の一部の処理ブロックを省略し、かつ作業制御装置３、多軸動作制御装置４を１つのハードウェアセットとして、これを駆動制御装置５に対して互換性を持たせることも可能である。
【００６３】
＜本実施形態による効果＞
以上説明したように、本実施形態のコントローラ１００は、当該コントローラ１００が備える複数種の装置ユニットのそれぞれが、当該装置ユニットの制御機能に対応して規定された所定のインターフェース規格に準拠する制御信号を、接続する他の装置ユニットから受信してその制御機能を実行する。これにより、各装置ユニット間における連携処理機能及び接続互換性を確保しながらそれぞれをカスタマイズすることが可能となり、すなわちコントローラ１００全体の設計自由度が向上する。この結果、コントローラ１００の汎用性を向上できる。
【００６４】
また、本実施形態では特に、インターフェース規格は、その仕様内容が公開されている。これにより、多様な製造メーカもしくは使用者独自で各装置ユニットを製造した場合でも、インターフェース規格に準拠するものであれば製造者に限定されずに各装置ユニットを任意に選択して適用することができる。すなわち、装置ユニット間の接続互換性を容易に確保できる。
【００６５】
また、本実施形態では特に、装置ユニットとして、作業ロボット６に行わせる作業内容を制御する作業制御装置３と、作業制御装置３による作業内容を実現するために、作業ロボット６が備える複数の駆動モータそれぞれの動作内容を制御する多軸動作制御装置４と、多軸動作制御装置４による動作内容を実現するために、複数の駆動モータそれぞれに対する給電駆動を制御する駆動制御装置５と、を有する。これにより、作業ロボット６の制御処理内容（作業内容、動作内容、駆動制御）を機能的に区別でき、それぞれに対応する演算処理を各装置ユニットに分担させることができる。この結果、コントローラ１００の設計自由度を向上できる。
【００６６】
また、本実施形態では特に、作業制御装置３が、多軸動作制御装置４の動作制御インターフェース２１のインターフェース規格に準拠したＡＰＩ群（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ群）を実行可能である。これにより、作業制御装置３よりさらに上位のコンソール２から多様なＡＰＩ指令を受けて実行することで、作業制御装置３は自由度の高い制御処理が可能となる。
【００６７】
また、本実施形態では特に、多軸動作制御装置４が、任意に設定された作業ロボット６の機構条件に基づいて複数の駆動モータそれぞれの動作内容を制御する。これにより、多軸動作制御装置４だけで作業ロボット６の機構条件を考慮した演算処理を行うことができ、他の作業制御装置３及び駆動制御装置５における演算処理では作業ロボット６の機構条件による影響を排除して簡素化できる。この結果、コントローラ１００の装置ユニット間における互換性を向上できる。
【００６８】
なお、上記実施形態では、作業制御装置３が、多軸動作制御装置４の動作制御インターフェース２１のインターフェース規格に準拠したＡＰＩ群を実行可能な単独の装置ユニットで構成していたが、これに限られない。他にも作業制御装置３が、多軸動作制御装置４の動作制御インターフェース２１のインターフェース規格に準拠したラダープログラムを実行可能に構成してもよい。これにより、図４に示すように、作業制御装置３ＡをＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）１０に組み込み可能なＰＬＣモジュールとして構成することができ、堅牢かつ簡易に設計できる。
【００６９】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００７０】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００７１】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００７２】
１，１Ａ      ロボットシステム
２            コンソール
３，３Ａ      作業制御装置（制御機能部、作業制御部）
４            多軸動作制御装置（制御機能部、多軸動作制御部）
５            駆動制御装置（制御機能部、駆動制御部）
６            作業ロボット（多軸制御機械）
７            外部電源
８            上位制御部
９            モータ制御部
１０          ＰＬＣ
１１          作業制御インターフェース
１３          アプリケーション実行
１４          モーションプログラム実行
１５          ネットワーク処理
２１          動作制御インターフェース
２２          軌道計画
２３          指令生成
２４          ロボットモーション制御
３１          駆動制御インターフェース
３２          位置・速度・電流制御
３４          インバータ制御
４１          上位制御インターフェース
４２          上位システム
４３          多軸動作制御部
４４          標準アプリケーション
５１          多軸サーボ制御部
５２          単軸サーボ制御部
５３          給電制御部
１００        コントローラ
１００Ａ      コントローラ
２００        コントローラ
【図１】
2018037038.tif 000003
【図２】
2018037038.tif 000004
【図３】
2018037038.tif 000005
【図４】
2018037038.tif 000006