あらゆる機械は、電気を与えると電気を運動エネルギーに変換し動作するモータで動いています。モーションコントロールとは、つまりそのモータ(電動機)を制御することです。モータにはモータ本体を制御するモータドライバがあり、そのドライバに対しパルス信号(一定の幅を持った電気信号の波)を出力し制御するモータコントロールボードがあります。それらを全てコントロールするのが、モーションコントローラなのです。
産業用ロボットは様々な動作を±0.1mm以下の精度で制御することができます。それを可能にしているのがモーションコントローラです。
例えばロボットに円を描くような動作をさせる場合、複数のサーボモータを1パルス単位の非常に繊細な精度で同調制御する必要があります。一見簡単に動作しているように見えるものでも実際は非常に複雑な演算処理を実施しているのです。そういった演算処理が必要なロボット含め、複数のサーボモータの同調制御や位置決め制御などの複雑な演算処理をPLCの代わりに演算処理してくれるのがモーションコントローラです。
● 正確な多軸制御
● 位置決めコントローラではできない輪郭制御
● トルク制御
● 作業ヘッド(ハンドなど)と機構の同調、同期
などがあげられます。
ロボットのモーションコントローラは基本的にロボットコントローラに内蔵されているため、PLCに取り付けるようなコントローラを別途購入する必要はありません。モーションコントローラは、自社で複数台のサーボモータを組み合わせた装置を製作する時などに必要となります。
例えば、複数のサーボモータを連携させた搬送装置などです。こういった精密な搬送装置は複数のロボットを連携させたソリューションにおいては必須となるため、自動的に大規模なロボットソリューションを製作する時にはモーションコントローラを活用する必要があります。
モーションコントローラは、基本的にサーボモータを販売しているメーカが提供している場合がほとんどです。サーボモータはそれぞれのモータ毎に1パルスあたりの回転率などが異なるため、自社のサーボモータに対応したコントローラを提供しているのです。そうしたメーカが提供するモーションコントローラの中にもいくつか種類が存在し、スペックによってできることが異なる場合が多いです。
各製品のわかりやすい違いとしては、演算処理用CPUの性能などがあげられます。CPUが高性能なものになれば演算処理にかかる時間が短くなるため、モーション制御が高速で実施できる様になります。
また、処理できる量も増えるため、高性能なモーションコントローラは一つのコントローラで制御できるサーボモータの数が多いです。一般的に2軸〜32軸の範囲で制御できる軸数が異なります。また、メーカ毎に制御ソフトを作成するためのソフトが異なるが、基本的にはラダーや SFC言語、ST言語などの FA系プログラミング言語で開発を行うことができます。
モーションコントロールの技術力は実際に数台のサーボモータの制御から始まり、複数台のサーボモータを制御する中で培われていくものです。