(57)【要約】【課題】装置の構造を大きく変更することなく、トルクのピークを抑制する。【解決手段】指定駆動時間を受け付ける入力受付部（１００）と、矩形波で、かつ、トルクの最大値および最小値の絶対値が等しく、かつ、トルクの最大値と最小値との切り替えは１回となる、との条件で、切り替えのタイミングおよび最大値を調整して、最大値が最小となるトルク軌跡を生成する軌跡部（２００）とを備える。【選択図】図１
2018060289.tif 000002
【特許請求の範囲】
【請求項１】
装置の制御に用いる入力軌跡を生成する軌跡生成装置であって、
制御対象が初期位置から所定位置に移動するまでの時間である指定駆動時間を受け付ける入力受付部と、
前記指定駆動時間に対応するトルク軌跡であって、
矩形波で、かつ、
トルクの最大値および最小値の絶対値が等しく、かつ、
トルクの最大値と最小値との切り替えは１回となる、
との条件で、前記切り替えのタイミングおよび前記最大値を調整して、前記最大値が最小となるトルク軌跡を生成するトルク軌跡生成部と、
前記トルク軌跡から前記入力軌跡を生成する入力軌跡生成部と、を備えていることを特徴とする軌跡生成装置。
【請求項２】
前記入力軌跡生成部は、前記トルク軌跡から、前記制御対象の時間と速度との関係を示す速度軌跡、および前記制御対象の時間と位置との関係を示す位置軌跡の少なくとも何れかを前記入力軌跡として生成することを特徴とする請求項１に記載の軌跡生成装置。
【請求項３】
前記入力軌跡生成部は、前記制御対象の特性モデルとして高次系の特性モデルを用いて、前記速度軌跡および前記位置軌跡の少なくとも何れかを前記入力軌跡として生成することを特徴とする請求項２に記載の軌跡生成装置。
【請求項４】
前記入力軌跡生成部は、前記トルク軌跡から生成した前記速度軌跡および前記位置軌跡の少なくとも何れかに対し移動平均を用いた修正を行った軌跡を前記入力軌跡として生成することを特徴とする請求項２または３に記載の軌跡生成装置。
【請求項５】
前記入力軌跡生成部は、前記速度軌跡および前記位置軌跡の少なくとも何れかにおける、前記指定駆動時間から短縮時間を引いた計算用駆動時間に対応する計算上速度軌跡および計算上位置軌跡の少なくとも何れかを導出し、前記計算上速度軌跡および前記計算上位置軌跡の少なくとも何れかに前記短縮時間分の軌跡を加えた軌跡の移動平均を算出することにより前記入力軌跡を生成することを特徴とする請求項４に記載の軌跡生成装置。
【請求項６】
前記入力軌跡生成部は、前記速度軌跡および前記位置軌跡の少なくとも何れかにおける、前記指定駆動時間から短縮時間を引いた計算用駆動時間に対応する計算上速度軌跡および計算上位置軌跡の少なくとも何れかを導出し、前記計算上速度軌跡および計算上位置軌跡の少なくとも何れかの前後に前記短縮時間分の軌跡を加えた移動平均算出用軌跡から移動平均をとり、移動平均をとった結果から前記短縮時間分取り除いた軌跡を前記入力軌跡として生成することを特徴とする請求項４に記載の軌跡生成装置。
【請求項７】
前記トルク軌跡生成部は、前記トルクの最大値が最小となる前記切り替えのタイミングおよび前記トルクの値を数値解析手法により算出し、前記トルク軌跡を生成することを特徴とする請求項１〜６の何れか１項に記載の軌跡生成装置。
【請求項８】
装置の制御に用いる入力軌跡を生成する軌跡生成装置の制御方法であって、
制御対象が初期位置から所定位置に移動するまでの時間である指定駆動時間を受け付ける入力受付ステップと、
前記指定駆動時間に対応するトルク軌跡であって、
矩形波で、かつ、
トルクの最大値および最小値の絶対値が等しく、かつ、
トルクの最大値と最小値との切り替えは１回となる、
との条件で、前記切り替えのタイミングおよび前記最大値を調整して、前記最大値が最小となるトルク軌跡を生成するトルク軌跡生成ステップと、
前記トルク軌跡から前記入力軌跡を生成する入力軌跡生成ステップと、を含むことを特徴とする軌跡生成装置の制御方法。
【請求項９】
請求項１に記載の軌跡生成装置としてコンピュータを機能させるための制御プログラムであって、前記トルク軌跡生成部、および前記入力軌跡生成部としてコンピュータを機能させるための制御プログラム。
【請求項１０】
請求項９に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に入力する入力軌跡を生成する軌跡生成装置等に関する。
【背景技術】
【０００２】
機械・設備等の動作の制御において、重量のある荷物を運ぶ場合や、駆動時間を短縮させたい場合、駆動部の駆動速度を速める、駆動部に対し与えるトルク値を大きくする等の制御が必要となる。しかし、与えるトルク値を大きくしても、対応する駆動部（モータ）の容量がそれに対応していなければ意味がない。よって、重量のある荷物を運ぶ場合や駆動時間を短縮するとトルクが過負荷になる場合、モータの容量を大きくする必要が生じる。
【０００３】
しかし、モータの容量を大きくすることは、電源設備の大規模化、消費電力の増大等の弊害がある。また、インバータを用いてモータ制御を行う制御装置を製造している業界では、モータの容量は可能な限り小さくしたいという要望も多い。
【０００４】
そこで、従来は、トルク不足を解消するため、入力軌跡となる曲線を人間が感覚的に選択し対応していた。具体的には、複数のカム曲線からトルクを低くできそうな曲線を、最高加速度や最高速度を参考に人間が感覚的に選択していた。しかし、必要なトルクが高くなるか低くなるかは、装置によって異なるため、必ずしも最適な曲線が選択できるわけではなかった。したがって、入力軌跡となる曲線を選択することによって対応する方法には限界があり、その場合は、モータの容量を大きくするしかなかった。
【０００５】
なお、特許文献１には、搬送ベルトの駆動トルク不足を改善する部品実装装置が記載されている。具体的には、特許文献１では、固定レールに設けられた搬送ベルトを駆動する固定側搬送モータと、可動レールに設けられた搬送ベルトを駆動する可動側搬送モータとが、互いに干渉しないように配置することにより、駆動トルク不足を改善している。
【０００６】
また、特許文献２には、脱調を防止しつつ、パルスモータの速度を目標速度まで短時間で増速させるパルスモータの駆動方法が記載されている。具体的には、特許文献２では、パルスモータの速度パターンを、曲線の傾きが漸増する第１の速度曲線、単調増加の第２の速度直線、曲線の傾きが漸減する第３の速度曲線の順で変化させ、第１の速度曲線の設定時間を第３の速度曲線の設定時間よりも短くすることで、短時間でパルスモータの速度を目標速度に増速させている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１６−５８５６１号公報（２０１６年４月２１日公開）
【特許文献２】特開２００９−８１９２２号公報（２００９年４月１６日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、トルク不足を補うために、装置の構造そのものを改造しており、大きな改造となってしまっている。また、特許文献２では、パルスモータの速度パターンを工夫しているが、必ずしも最良ものとはなっていない。
【０００９】
よって、特許文献１、２に記載された方法は、モータの容量を大きくすることなく、重量のある荷物を運ぶ、駆動時間を短縮させるということを可能とするものではない。
【００１０】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、装置の構造を大きく変更することなく、トルクのピークを抑制し、搬送時間を短縮できる入力軌跡を生成する軌跡生成装置等を実現することにある。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明に係る軌跡生成装置は、装置の制御に用いる入力軌跡を生成する軌跡生成装置であって、制御対象が初期位置から所定位置に移動するまでの時間である指定駆動時間を受け付ける入力受付部と、前記指定駆動時間に対応するトルク軌跡であって、矩形波で、かつ、トルクの最大値および最小値の絶対値が等しく、かつ、トルクの最大値と最小値との切り替えは１回となる、との条件で、前記切り替えのタイミングおよび前記最大値を調整して、前記最大値が最小となるトルク軌跡を生成するトルク軌跡生成部と、前記トルク軌跡から前記入力軌跡を生成する入力軌跡生成部と、を備えていることを特徴としている。
【００１２】
前記の構成によれば、指定駆動時間に対応するトルク軌跡を、矩形波で、トルクの最大値および最小値の絶対値が等しく、トルクの最大値と最小値との切り替えは１回となるように生成することができる。これにより、トルクのピーク値を最小にすることができる。
また、切り替えタイミングとトルクの最大値とを調整することにより、適切に指定駆動時間で、制御対象が初期位置かつ初期速度から所定位置かつ所定速度に移動するようにすることができる。
【００１３】
したがって、指定駆動時間で初期位置かつ初期速度から所定位置かつ所定速度まで制御対象を移動させるための入力軌跡であって、必要なトルクのピーク値が最小となる入力軌跡を生成することができる。
【００１４】
また、必要なトルクのピーク値を抑制することができるので、従来の構成におけるピーク値に対応させた駆動装置と同じ駆動装置であれば、従来よりも搬送重量を上げることができる。同様に、従来と同じ駆動装置であれば、搬送時間を短縮することができる。
【００１５】
本発明に係る軌跡生成装置では、前記入力軌跡生成部は、前記トルク軌跡から、前記制御対象の時間と速度との関係を示す速度軌跡、および前記制御対象の時間と位置との関係を示す位置軌跡の少なくとも何れかを前記入力軌跡として生成するものであってもよい。
【００１６】
前記の構成によれば、生成したトルク軌跡から生成した速度軌跡、または位置軌跡を入力軌跡とすることができる。これにより、モデル誤差が生じた場合でも、制御対象を指定駆動時間で所定位置に、より適切に移動させることができる。
【００１７】
本発明に係る軌跡生成装置では、前記入力軌跡生成部は、前記制御対象の特性モデルとして高次系の特性モデルを用いて、前記速度軌跡および前記位置軌跡の少なくとも何れかを前記入力軌跡として生成するものであってもよい。
【００１８】
前記の構成によれば、高次系の特性モデルを用いて、速度軌跡および位置軌跡の少なくとも何れかを入力軌跡として生成することができる。
【００１９】
本発明に係る軌跡生成装置では、前記入力軌跡生成部は、前記トルク軌跡から生成した前記速度軌跡および前記位置軌跡の少なくとも何れかに対し移動平均を用いた修正を行った軌跡を前記入力軌跡として生成するものであってもよい。
【００２０】
前記の構成によれば、移動平均を用いて修正された入力軌跡を生成する。これにより、入力軌跡を平滑化することができるので、モデル誤差などによるノイズによってトルクのピークが立ってしまうことを抑制することができる。
【００２１】
本発明に係る軌跡生成装置では、前記入力軌跡生成部は、前記速度軌跡および前記位置軌跡の少なくとも何れかにおける、前記指定駆動時間から短縮時間を引いた計算用駆動時間に対応する計算上速度軌跡および計算上位置軌跡の少なくとも何れかを導出し、前記計算上速度軌跡および前記計算上位置軌跡の少なくとも何れかに前記短縮時間分の軌跡を加えた軌跡の移動平均を算出することにより前記入力軌跡を生成するものであってもよい。
【００２２】
駆動開始時は、静止摩擦の影響により、摩擦が大きく、この摩擦のために駆動開始部分においてトルクのピークが立ってしまう。前記の構成によれば、移動平均を用いて入力軌跡を生成することにより、駆動開始部分のトルクのピークを平滑化することができる。よって、トルクのピークが立ってしまうことを抑制することができる。
【００２３】
また、短縮時間を加えて移動平均を算出することにより、移動平均を算出後の軌跡を指定駆動時間に対応したものとすることができる。
【００２４】
本発明に係る軌跡生成装置では、前記入力軌跡生成部は、前記速度軌跡および前記位置軌跡の少なくとも何れかにおける、前記指定駆動時間から短縮時間を引いた計算用駆動時間に対応する計算上速度軌跡および計算上位置軌跡の少なくとも何れかを導出し、前記計算上速度軌跡および計算上位置軌跡の少なくとも何れかの前後に前記短縮時間分の軌跡を加えた移動平均算出用軌跡から移動平均をとり、移動平均をとった結果から前記短縮時間分取り除いた軌跡を前記入力軌跡として生成するものであってもよい。
【００２５】
前記の構成によれば、入力軌跡の平滑化することができるので、トルクのピークが立ってしまうことを抑制することができる。
【００２６】
また、計算上速度軌跡および計算上位置軌跡の少なくとも何れかの前後に短縮時間分の軌跡を加えて移動平均を算出することにより、入力軌跡の前後を平滑化することができる。これにより、駆動開始時および駆動停止時のモデル誤差（例えば摩擦、追従遅れによる誤差）を抑制することができる。
【００２７】
本発明に係る軌跡生成装置では、前記トルク軌跡生成部は、前記トルクの最大値が最小となる前記切り替えのタイミングおよび前記トルクの値を数値解析手法により算出し、前記トルク軌跡を生成するものであってもよい。
【００２８】
一般的に、トルクの最大値が最小となる切り替えのタイミングおよびトルクの値の算出は困難なものである。前記の構成によれば、数値解析手法によって、切り替えのタイミングおよびトルクの値の算出を実現することが可能となる。なお、数値解析手法は、発見的探索アルゴリズムによるものであってもよいし、ニュートン法等の収束計算によるものであってもよい。
【００２９】
前記課題を解決するために、本発明に係る軌跡生成装置の制御方法は、装置の制御に用いる入力軌跡を生成する軌跡生成装置の制御方法であって、制御対象が初期位置から所定位置に移動するまでの時間である指定駆動時間を受け付ける入力受付ステップと、前記指定駆動時間に対応するトルク軌跡であって、矩形波で、かつ、トルクの最大値および最小値の絶対値が等しく、かつ、トルクの最大値と最小値との切り替えは１回となる、との条件で、前記切り替えのタイミングおよび前記最大値を調整して、前記最大値が最小となるトルク軌跡を生成するトルク軌跡生成ステップと、前記トルク軌跡から前記入力軌跡を生成する入力軌跡生成ステップと、を含むことを特徴としている。
【００３０】
これにより、前述した効果を同様の効果を奏することができる。
【００３１】
本発明の各態様に係る軌跡生成装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記軌跡生成装置が備える各部（ソフトウェア要素）として動作させることにより前記軌跡生成装置をコンピュータにて実現させる軌跡生成装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００３２】
本発明によれば、装置の構造を大きく変更することなく、トルクのピークを抑制し、搬送時間を短縮できるという効果を奏する。
【図面の簡単な説明】
【００３３】
【図１】本実施形態に係る制御装置の要部構成を示すブロック図である。
【図２】上記実施形態に係る制御システムの概略を示す図である。
【図３】上記制御システムの詳細を示す図である。
【図４】本実施形態に係るサポート装置のハードウェア構成を示す模式図である。
【図５】上記制御装置におけるトルク軌跡を生成する処理の流れを示すフローチャート図である。
【図６】上記制御装置におけるトルク軌跡生成部が生成するトルク軌跡例を示す図である。
【図７】トルク軌跡と制御対象の実際の位置と時間との関係を示す図である。
【図８】上記制御装置における速度軌跡、位置軌跡を生成する処理の流れを示すフローチャート図である。
【図９】位置軌跡を用いる位置制御を行った場合のトルク軌跡、および制御対象の位置と時間との関係を示す図である。
【図１０】実際の摩擦とモデル化した摩擦とを示す図である。
【図１１】上記制御装置において、移動平均を用いて入力軌跡を生成する処理の流れを示すフローチャート図である。
【図１２】移動平均を用いた入力軌跡の導出方法を説明するための図である。
【図１３】移動平均を用いて導出した速度平均の例を示す図である。
【図１４】移動平均を用いて導出した位置軌跡と、対応するトルク軌跡とを示す図である。
【図１５】（ａ）、（ｂ）は、本実施形態による入力軌跡を用いた場合と従来の入力軌跡を用いた場合とを比較した図である。
【図１６】（ａ）、（ｂ）は、本実施形態による入力軌跡を用いた場合と従来の入力軌跡を用いた場合とを比較した図である。
【図１７】本実施形態に係る機能ブロック化の例を示す図である。
【発明を実施するための形態】
【００３４】
〔実施形態１〕
以下、本発明の実施形態について、詳細に説明する。本実施形態に係る制御システムは、制御装置（図２等の制御装置１に対応）において、制御対象（図２等の制御対象５に対応）を目的位置（所定位置、終端位置）に目的時刻（終端時刻）に移動させる入力軌跡を生成し、サーボドライバ（図２等のサーボドライバ３に対応）に入力して、サーボモータ（図２等のサーボモータ４に対応）を駆動させて制御対象を移動させるものである。
【００３５】
また、制御装置において生成する入力軌跡は、トルクのピーク値を抑制することができるものである。さらに、トルクのピーク値を抑制することにより、従来の構成におけるピーク値に対応させた駆動装置と同じ駆動装置であれば、従来よりも搬送重量を上げることができるものである。同様に、従来と同じ駆動装置であれば、搬送時間を短縮することもできる。
【００３６】
制御装置において生成する入力軌跡は、トルク軌跡であってもよいし、速度軌跡であってもよい、位置軌跡であってもよい。トルク軌跡とは、与えるトルク値と時間との関係を示す軌跡である。また、速度軌跡とは、制御対象の速度と時間との関係を示す軌跡である。また、位置軌跡とは、制御対象の位置と時間との関係を示す軌跡である。
【００３７】
なお、本実施形態では、制御装置が生成する入力軌跡の入力先としてサーボドライバを例に挙げて説明するが、制御装置が生成する入力軌跡の入力先はサーボドライバに限られるものではない。入力軌跡の入力先は、軌跡を用いて制御を行う装置であればどのようなものであってもよい。例えば、温度調整装置のようなものであってもよい。
〔制御システムの概要〕
まず、制御システムの概要について図２、３を参照して説明する。図２は、制御システムの概略を示す図である。また、図３は、制御システムの詳細を示す図である。
【００３８】
図２に示すように、制御システムは、制御装置（軌跡生成装置）１、サーボドライバ３、および制御対象５（サーボモータ４）を含む。そして、制御装置１で生成された指令値（トルク軌跡、速度軌跡、位置軌跡）をサーボドライバ３に入力する。サーボドライバ３は、受け取った指令値に基づくトルクによりサーボモータ４を駆動して制御対象５を移動させる。
【００３９】
制御装置１は、機械や設備などの制御対象を制御するための指令値を設定するものであり、その構成要素としてＣＰＵユニット１３（図３）を含む。ＣＰＵユニット１３は、マイクロプロセッサと、マイクロプロセッサのメインメモリを含む記憶手段と、通信回路とを含む。ＣＰＵユニット１３は、出力データの送信と、入力データの受信と、入力データを使用して出力データを生成する制御プログラムの実行とを繰り返すことによって制御対象を制御するように構成されている。
【００４０】
記憶手段は、制御プログラム、および当該制御プログラムの実行と入力データおよび出力データの入出力とを制御するシステムプログラムの格納に用いられる。マイクロプロセッサは、記憶手段に格納されたシステムプログラムおよび制御プログラムを実行する。
【００４１】
通信回路は、出力データを送信し、入力データを受信する。制御装置１は、通信回路として、制御装置システムバスによって出力データの送信および入力データの受信を行う第１通信回路と、フィールドネットワーク２（図３）によって出力データの送信および入力データの受信を行う第２通信回路とを有している。
【００４２】
より詳細に図３を参照して説明する。図３に示すように、制御装置システムは、制御装置１と、制御装置１とフィールドネットワーク２を介して接続されるサーボドライバ３およびリモートＩＯターミナルと、フィールド機器であるセンサ６およびリレー７とを含む。また、制御装置１には、接続ケーブル１０などを介してサポート装置８が接続されている。
【００４３】
制御装置１は、主たる演算処理を実行するＣＰＵユニット１３と、１つ以上のＩＯユニット１４と、特殊ユニット１５とを含む。これらのユニットは、ＰＬＣシステムバス１１を介して、データを互いに遣り取りできるように構成されている。また、これらのユニットには、電源ユニット１２によって適切な電圧の電源が供給される。なお、制御装置１として構成される各ユニットは、制御装置メーカーが提供するものであるので、ＰＬＣシステムバス１１は、一般に制御装置メーカーごとに独自に開発され使用されている。これに対して、フィールドネットワーク２は、異なるメーカーの製品同士が接続できるように、その規格などが公開されている場合も多い。
【００４４】
ＩＯユニット１４は、一般的な入出力処理に関するユニットであり、オン／オフといった２値化されたデータの入出力を司る。すなわち、ＩＯユニット１４は、センサ６などのセンサが何らかの対象物を検出している状態（オン）、および何らの対象物も検出していない状態（オフ）の何れであるかという情報を収集する。また、ＩＯユニット１４は、リレー７やアクチュエータといった出力先に対して、活性化するための指令（オン）および不活性化するための指令（オフ）の何れかを出力する。
【００４５】
特殊ユニット１５は、アナログデータの入出力、温度制御、特定の通信方式による通信といった、ＩＯユニット１４ではサポートしない機能を有する。
【００４６】
フィールドネットワーク２は、ＣＰＵユニット１３と遣り取りされる各種データを伝送する。フィールドネットワーク２としては、典型的には、各種の産業用イーサネット（登録商標）を用いることができる。産業用イーサネットとしては、たとえば、ＥｔｈｅｒＣＡＴ（登録商標）、Ｐｒｏｆｉｎｅｔ  ＩＲＴ、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、Ｐｏｗｅｒｌｉｎｋ、ＳＥＲＣＯＳ（登録商標）−ＩＩＩ、ＣＩＰ  Ｍｏｔｉｏｎなどが知られており、これらのうちの何れを採用してもよい。さらに、産業用イーサネット以外のフィールドネットワークを用いてもよい。たとえば、モーション制御を行わない場合であれば、ＤｅｖｉｃｅＮｅｔ、ＣｏｍｐｏＮｅｔ／ＩＰ（登録商標）などを用いてもよい。本実施の形態に係る制御装置システムでは、典型的に、産業用イーサネットであるＥｔｈｅｒＣＡＴをフィールドネットワーク２として採用する場合の構成について例示する。
【００４７】
なお、制御装置１は、ＣＰＵユニット１３にＩＯユニット１４の機能やサーボドライバ３の機能を持たせることにより、そのような内蔵機能でまかなえる範囲については、ＩＯユニット１４やサーボドライバ３などを介さずにＣＰＵユニット１３が直接制御対象を制御する構成でもよい。
【００４８】
サーボドライバ３は、フィールドネットワーク２を介してＣＰＵユニット１３と接続されるとともに、ＣＰＵユニット１３からの指令値に従ってサーボモータ４を駆動する。より具体的には、サーボドライバ３は、制御装置１から一定周期で、位置指令値、速度指令値、トルク指令値といった指令値（入力軌跡）を受ける。また、サーボドライバ３は、サーボモータ４の軸に接続されている位置センサ（ロータリーエンコーダ）やトルクセンサといった検出器から、位置、速度（典型的には、今回位置と前回位置との差から算出される）、トルクといったサーボモータ４の動作に係る実測値を取得する。そして、サーボドライバ３は、ＣＰＵユニット１３からの指令値を目標値に設定し、実測値をフィードバック値として、フィードバック制御を行う。すなわち、サーボドライバ３は、実測値が目標値に近づくようにサーボモータ４を駆動するための電流を調整する。なお、サーボドライバ３は、サーボモータアンプと称されることもある。
【００４９】
なお、図３には、サーボモータ４とサーボドライバ３とを組み合わせたシステム例を示すが、その他の構成、たとえば、パルスモータとパルスモータドライバとを組み合わせたシステムを採用することもできる。
【００５０】
図３に示す制御装置システムのフィールドネットワーク２には、さらに、リモートＩＯターミナルが接続されている。リモートＩＯターミナルは、基本的には、ＩＯユニット１４と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートＩＯターミナルは、フィールドネットワーク２でのデータ伝送に係る処理を行うための通信カプラ５２と、１つ以上のＩＯユニット５３とを含む。これらのユニットは、リモートＩＯターミナルバス５１を介して、データを互いに遣り取りできるように構成される。
【００５１】
〔サポート装置８のハードウェア構成〕
次に、制御装置１で実行されるプログラムの作成および制御装置１のメンテナンスなどを行うためのサポート装置８について説明する。図４は、サポート装置８のハードウェア構成を示す模式図である。サポート装置８は、典型的には、汎用のコンピュータで構成される。なお、メンテナンス性の観点からは、サポート装置８は、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
【００５２】
図４に示すように、サポート装置８は、ＯＳを含む各種プログラムを実行するＣＰＵ８１と、ＢＩＯＳや各種データを格納するＲＯＭ（Read Only Memory）８２と、ＣＰＵ８１でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリＲＡＭ８３と、ＣＰＵ８１で実行されるプログラムなどを不揮発的に格納するハードディスク（ＨＤＤ）８４とを含む。ＣＰＵ８１がサポート装置８の演算部に相当し、ＲＯＭ８２、ＲＡＭ８３およびハードディスク８４がサポート装置８の記憶部に相当する。
【００５３】
サポート装置８は、さらに、ユーザからの操作を受け付けるキーボード８５およびマウス８６と、情報をユーザに提示するためのモニタ８７とを含む。さらに、サポート装置８は、制御装置１（ＣＰＵユニット１３）などと通信するための通信インターフェイス（ＩＦ）８９を含む。
【００５４】
サポート装置８で実行される各種プログラムは、ＣＤ−ＲＯＭ９に格納されて流通する。このＣＤ−ＲＯＭ９に格納されたプログラムは、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）ドライブ８８によって読取られ、ハードディスク（ＨＤＤ）８４などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
【００５５】
なお、本実施形態では、制御装置１とサポート装置８とを別の装置として記載しているが、１つの装置として制御装置１によって構成されていてもよい、この場合、サポート装置８のハードウェア構成は、そのまま制御装置１のハードウェア構成となる。
【００５６】
〔制御装置１の詳細〕
次に、図１を参照して、制御装置１の詳細について説明する。図１は、制御装置１の要部構成を示すブロック図である。
【００５７】
図１に示すように、制御装置１は、入力受付部１００、軌跡部２００、および動作指示部３００を含む。また、軌跡部２００は、トルク軌跡生成部２０１、および入力軌跡生成部２０２を含む。
【００５８】
入力受付部１００は、サポート装置８を介して、ユーザからの指示を受け付け、軌跡部２００に通知する。受け付ける指示内容は、例えば、「駆動時間」、「初期位置」、「初期速度」、「終端位置」、「終端速度」である。また、後述する実施形態３に記載する方法を採用する場合、「移動平均時間」も受け付ける。
【００５９】
軌跡部２００は、サーボドライバ３へ指示する入力軌跡を生成するものである。具体的には、入力軌跡として、トルク軌跡、速度軌跡、および位置軌跡の少なくとも何れかを生成する。また、上述したように、軌跡部２００は、トルク軌跡生成部２０１、および軌跡生成部２０４を含む。
【００６０】
トルク軌跡生成部２０１は、入力受付部１００を介して通知された「駆動時間」、「初期位置」、「初期速度」、「終端位置」、「終端速度」を用いて、トルク軌跡を生成する。そして、生成したトルク軌跡を入力軌跡生成部２０２に通知する。また、トルク軌跡生成部２０１は、トルク軌跡の生成中に導出される、時々刻々の速度情報、位置情報を入力軌跡生成部２０２に通知する。
【００６１】
より詳細には、トルク軌跡生成部２０１は、矩形波で、かつ、トルクの最大値および最小値の絶対値が等しく、かつ、トルクの最大値と最小値との切り替えは１回となる、との条件で、切り替えのタイミングとトルクの最大値を調整して、トルクの最大値が最小となるトルク軌跡を生成する。切り替えのタイミングとトルクの最大値との調整は、数値解析手法を用いて行うことができる。数値解析手法は、発見的探索アルゴリズム（ヒューリスティックなアルゴリズム）によるものであってもよいし、ニュートン法等の収束計算によるものであってもよい。
【００６２】
入力軌跡生成部２０２は、トルク軌跡生成部２０１から通知されたトルク軌跡から入力軌跡を生成する。入力軌跡がトルク軌跡の場合は、通知されたトルク軌跡を入力軌跡とする。また、後述する実施形態２、３のように速度軌跡、位置軌跡を入力軌跡とする場合は、通知された時々刻々の速度情報、位置情報から速度軌跡、位置軌跡を生成し、入力軌跡とする。
【００６３】
動作指示部３００は、軌跡部２００が生成した入力軌跡にしたがって、サーボドライバ３に指令を送信する。
【００６４】
〔制御装置１における処理の流れ〕
次に、図５を参照して、制御装置１において、入力軌跡としてトルク軌跡を生成する処理の流れを説明する。図５は、制御装置１におけるトルク軌跡を生成する処理の流れを示すフローチャート図である。
【００６５】
図５に示すように、制御装置１では、まず入力受付部１００にて駆動時間の指定を受け付ける（Ｓ１０１、入力受付ステップ）。なお、上述したように、入力受付部１００では、駆動時間とともに、初期位置、初期速度、終端位置、および終端速度も受け付けている。
【００６６】
次に、トルク軌跡生成部２０１は、トルク軌跡におけるトルク値および切替時間を設定する（Ｓ１０２）。トルク値および切替時間について、図６を参照して説明する。図６は、トルク軌跡生成部２０１が生成するトルク軌跡例を示す図である。図６に示すように、トルク軌跡生成部２０１が生成するトルク軌跡は、矩形波であり、かつ、トルク値の最大値と最小値との切り替えが１回となっている。トルク値とは、図６に示すトルク軌跡のトルク値の最大値および最小値の絶対値の値である。また、切替時間とは、トルク値の最大値と最小値との切り替えのタイミングを示す時間である。ステップＳ１０２では、このトルク値と切替時間とを設定する。
【００６７】
次に、トルク軌跡生成部２０１は、ステップＳ１０２で設定したトルク値および切替時間となるトルク軌跡を入力軌跡とした場合における、終端時間での制御対象の位置および速度を導出する（Ｓ１０３）。終端時間とは、指定された駆動時間が終了する時間である。そして、トルク軌跡生成部２０１は、導出した終端時間での制御対象の位置および速度が、閾値以内となっているか否かを判定する（Ｓ１０４）。具体的には、終端時間での制御対象の位置および速度が、指定された終端位置、および終端速度と同値と言える範囲にあるか否かを判定する。
【００６８】
導出した終端時間での制御対象の位置および速度が、閾値以内ではない場合（Ｓ１０４でＮＯ）、ステップＳ１０２に戻り、ステップＳ１０２〜Ｓ１０４を繰り返す。
【００６９】
一方、導出した終端時間での制御対象の位置および速度が、閾値以内となっている場合（Ｓ１０４でＹＥＳ）、トルク軌跡生成部２０１は、そのときのトルク値、および切替時間を、トルク軌跡を生成するためのトルク値、および切替時間として決定し、トルク軌跡を生成する（Ｓ１０５）。そして、入力軌跡生成部２０２は、トルク軌跡生成部２０１が生成したトルク軌跡を用いて入力軌跡とするトルク軌跡を生成する（Ｓ１０６、トルク軌跡生成ステップ）。
【００７０】
以上が、制御装置１におけるトルク軌跡を生成する処理の流れである。上述したように、本実施形態では、終端時間での制御対象の位置および速度が閾値以内となるまで、ステップＳ１０２〜Ｓ１０４を繰り返すという、発見的探索アルゴリズムにより、トルク値、および切替時間を導出している。なお、上述したように、トルク値、および切替時間を導出は、発見的探索アルゴリズムに限られるものではなく、どのような数値解析手法を用いてもよい。例えば、ニュートン法などの収束計算によるものであってもよい。
【００７１】
〔実施形態２〕
本発明の他の実施形態について、図７、図８に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００７２】
〔概要〕
実施形態１では、トルク値と切替時間とを設定することによりトルク軌跡を求めて入力軌跡としていた。しかし、実際の装置では、モデル誤差が発生するため、指令通りのトルクで制御したとしても、終端時間において、制御対象が終端位置、終端速度となっていない可能性がある。
【００７３】
具体的に、図７を参照して説明する。図７は、トルク軌跡を入力軌跡とする場合、換言すれば、トルク制御の場合のトルク軌跡と制御対象の実際の位置と時間との関係を示す図である。図７に示すように、入力された終端時間、終端位置となるように、トルク値および切替時間を設定したトルク軌跡を入力軌跡としたとしても、モデル誤差により、制御対象の実際の位置は、終端時間において目標位置に達していないということが起こる。
【００７４】
そこで、本実施形態では、実施形態１の構成において、トルク軌跡を導出する過程で、時々刻々に導出される制御対象の速度と位置とから、速度軌跡および位置軌跡の少なくとも何れかを導出し、これを入力軌跡とする。
【００７５】
速度軌跡または位置軌跡を用いた速度制御または位置制御により、終端時間において、制御対象を目標位置で目標速度とすることをより正確に行うことができる。
【００７６】
〔速度軌跡、位置軌跡を用いる場合の処理の流れ〕
次に、図８を参照して、制御装置１において、入力軌跡として速度軌跡、位置軌跡を生成する処理の流れを説明する。図８は、制御装置１における速度軌跡、位置軌跡を生成する処理の流れを示すフローチャート図である。
【００７７】
図８に示すように、ステップＳ１０４までは上述した実施形態１における図５と同様である。本実施形態では、ステップＳ１０４でＹＥＳとなった後、実施形態１における処理と並行してステップＳ２０１へ進む。
【００７８】
ステップＳ２０１では、軌跡部２００は、トルク軌跡の生成時において時々刻々の速度情報、および位置情報を導出する。速度情報、位置情報は、トルク軌跡の生成時に付加的に導出される。
【００７９】
次に、入力軌跡生成部２０２は、ステップＳ２０１で導出された速度情報、位置情報から速度軌跡、位置軌跡を生成し、これらのうちの少なくとも何れかを入力軌跡とする（Ｓ２０２、入力軌跡生成ステップ）。
【００８０】
以上が、制御装置１における速度軌跡、位置軌跡を生成する処理の流れである。
【００８１】
〔実施形態３〕
本発明の他の実施形態について、図９〜図１４に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【００８２】
〔概要〕
実施形態２に記載した速度軌跡、位置軌跡を用いる方法により、終端時間において制御対象を目標位置で目標速度とすることができる。ただし、モデル誤差により、トルクのピークが立ってしまう可能性がある。モデル誤差を少なくする方法としては、モデルを数式化せずにテーブルとして持つ、追従遅れなどの無駄時間も加味した高次元のモデルの作成等が考えられる。しかし、これらの方法は、高度な技術を必要とする、および莫大な時間がかかる等の弊害があり現実的ではない。
【００８３】
そこで、一般的には、制御対象の特性モデルとして、以下に示す二次系のモデルが用いられる。なお、三次系以降の高次系のモデルを用いることができないということではない。
ＭＸ”＋ＤＸ’＋Ｃ＝Ｆ
ここで、Ｍは制御対象の質量、Ｄは制御対象の速度によって生じる摩擦、Ｃは常時生じている摩擦を示す。
【００８４】
しかし、上記のモデルでは、低速度部分の摩擦が表すことができないという弊害がある。また、ドライバのゲインを１としているため、ドライバの追従遅れを加味できないという弊害もある。したがって、上記のモデルを用いた場合、駆動開始時に大きなトルクが発生するという問題、および駆動停止時にマイナスの大きなトルクが発生するという問題が起こる。
【００８５】
具体的に、図９、１０を参照して説明する。図９は、位置軌跡を用いる位置制御を行った場合のトルク軌跡、および制御対象の位置と時間との関係を示す図である。また、図１０は、実際の摩擦とモデル化した摩擦とを示す図である。
【００８６】
図９に示すように、位置制御を行うことにより、制御対象は指定駆動時間で目標位置に到達する。ただし、トルク軌跡に示すように、駆動開始時、および駆動停止時にトルクのピークが立ってしまう。
【００８７】
これは、次の理由による。図１０の（ｂ）に示すように、実際に、制御対象にかかる摩擦力は、速度が０（ゼロ）付近でピークが立つ。しかし、モデル化される摩擦力は、図１０の（ａ）に示すように、０（ゼロ）付近のピークを無視したような軌跡となる。よって、制御対象に実際にかかる摩擦力とモデル化された摩擦力とに差が生じる、すなわち、モデル誤差が生じる。これにより、駆動開始時、および駆動停止時にトルクのピークが立ってしまう。
【００８８】
そこで、本実施形態では、移動平均を用いて入力軌跡を生成することにより、モデル誤差の影響を低減させ、トルクのピークが立つことを抑制している。具体的には、まず、駆動時間から移動平均時間（短縮時間）を引いた時間（以下、計算用駆動時間とも呼ぶ）における速度軌跡または位置軌跡を導出する。次に、導出した速度軌跡（計算上速度軌跡）または位置軌跡（計算上位置軌跡）に移動平均時間分の軌跡を加え、全体の軌跡（移動平均算出用軌跡）に対する移動平均とり、入力軌跡とする。これにより、軌跡を滑らかにすることができ、トルクのピークを抑制することができる。
【００８９】
また、移動平均時間分を加えた軌跡を用いて移動平均を算出しているので、指定された駆動時間で、制御対象を指定位置に指定速度とすることができる入力軌跡となる。
【００９０】
〔移動平均を用いる場合の処理の流れ〕
次に、図１１を参照して、制御装置１において、移動平均を用いて入力軌跡を生成する処理の流れを説明する。図１１は、制御装置１において、移動平均を用いて入力軌跡を生成する処理の流れを示すフローチャート図である。なお、上述した図５および図８のフローチャートにおけるステップと同様の処理を実行するステップには同じステップ番号を付し、その詳細な説明は省略する。
【００９１】
図１１に示すように、まず、ステップＳ１０１にて駆動時間の指定を受け付ける。次に、入力受付部１００は移動平均時間の指定を受け付ける（Ｓ３０１）。そして、軌跡部２００は、駆動時間と移動平均時間とから計算用駆動時間を算出する（Ｓ３０２）。そして、ステップＳ１０２へ進む。
【００９２】
ステップＳ１０２〜Ｓ１０４は、実施形態１、２と同様である。入力軌跡生成部２０２は、ステップＳ２０１で導出された位置情報、速度情報から導出した位置軌跡、速度軌跡に対し、移動平均時間分の軌跡を加える（Ｓ３０３）。そして、加えた後の軌跡全体に対し、移動平均をとり、入力軌跡を生成する（Ｓ３０４）。
【００９３】
図１２を参照して、具体的な軌跡例を用いて、移動平均を用いた入力軌跡の導出方法を説明する。図１２は、移動平均を用いた入力軌跡の導出方法を説明するための図である。
なお、図１２では、位置軌跡を用いた例を説明するが、速度軌跡を用いる場合も同様である。
【００９４】
まず、計算用駆動時間ｔｆから導出した位置軌跡１２０１を図１２の（ａ）に示す。この位置軌跡１２０１の前後に、移動平均時間ｔｒ分の軌跡１２０２ａ、軌跡１２０２ｂを加える（図１２の（ｂ））。そして、位置軌跡１２０１に、軌跡１２０２ａおよび軌跡１２０２ｂを加えた全体の軌跡について、移動平均をとり、駆動時間ｔｍ分の軌跡を入力軌跡１２０３として導出する（図１２の（ｃ））。
【００９５】
〔移動平均を用いた結果〕
図１３に、移動平均を用いて導出した速度軌跡の例を示す。図１３は、移動平均を用いて導出した速度平均の例を示す図である。移動平均を用いたことにより、駆動時（時間が０ｓ付近）と、駆動終了時（時間が０．４５ｓ付近）における軌跡が緩やかになっていることが分かる。
【００９６】
図１４に、移動平均を用いて導出した位置軌跡と、対応するトルク軌跡とを示す。図１４は、移動平均を用いて導出した位置軌跡と、対応するトルク軌跡とを示す図である。図１４に示すように、移動平均を用いて導出した位置軌跡では、駆動時および駆動終了時における軌跡の曲線が緩やかになっている。また、対応するトルク軌跡に示すように、駆動時および駆動終了時にピークが立っていない。
【００９７】
〔本実施形態における効果〕
図１５、図１６を参照して、本実施形態による効果を説明する。図１５、図１６は、本実施形態による入力軌跡を用いた場合と従来の入力軌跡を用いた場合とを比較した図である。
【００９８】
図１５の（ａ）には、本実施形態における入力軌跡を用いて制御対象を駆動させたときの位置と時間との関係を示す位置軌跡１５０１と、従来の入力軌跡を用いて制御対象を駆動させたときの位置と時間との関係を示す位置軌跡１５１１とが示されている。また、図１５の（ｂ）には、本実施形態における入力軌跡を用いて制御対象を駆動させたときのトルクと時間との関係を示すトルク軌跡１５０２と、従来の入力軌跡を用いて制御対象を駆動させたときのトルクと時間との関係を示すトルク軌跡１５１２とが示されている。なお、図１５に示す例は、駆動時間０．４５ｓ、終端位置１００ｍｍで駆動させた場合を示す。
【００９９】
図１５の（ａ）に示すように、位置軌跡１５０１と位置軌跡１５１１とでは、初期位置と終端位置とは一致している。しかし、図１５の（ｂ）に示すように、トルク軌跡１５０２とトルク軌跡１５１２とでは、最大トルク値が２５％程度、異なっている。すなわち、トルク軌跡１５０２の最大トルク値が、トルク軌跡１５１２の最大トルク値よりも２５％程度小さい。これは、本実施形態における入力軌跡を用いることにより、同じ駆動時間、同じ駆動距離で、従来よりもトルク値を２５％程度抑制できることを示す。
【０１００】
図１６は、本実施形態における入力軌跡を用いて制御対象を駆動させたときのトルク軌跡の最大値と、従来の入力軌跡を用いて制御対象を駆動させたときのトルク軌跡の最大値とが揃うようにした場合の例である。すなわち、トルク軌跡１５１２の最大値を、トルク軌跡１５０２の最大値と揃うようにした場合の例である。
【０１０１】
図１６の（ａ）には、本実施形態における入力軌跡を用いて制御対象を駆動させたときのトルクと時間との関係を示すトルク軌跡１５０２と、従来の入力軌跡を用いて制御対象を駆動させたときのトルクと時間との関係を示すトルク軌跡１６１１とが示されている。また、図１６の（ｂ）には、本実施形態における入力軌跡を用いて制御対象を駆動させたときの位置と時間との関係を示す位置軌跡１６０２と、従来の入力軌跡を用いて制御対象を駆動させたときの位置と時間との関係を示す位置軌跡１６１２とが示されている。
【０１０２】
図１６の（ａ）に示すように、トルク軌跡１５０２とトルク軌跡１６０１との最大値が揃うようにした場合、図１６の（ｂ）に示すように、１００ｍｍの位置に制御対象が到達する時間が、位置軌跡１６０２では０．４５ｓ、位置軌跡１６１２では０．６ｓとなる。
【０１０３】
これは、従来とトルクの最大値を揃えた場合、すなわち、従来と同じ容量のモータを用いた場合、本実施形態における入力軌跡を用いることにより、同じ駆動距離を移動させるための搬送時間をおよそ２５％程度、短くすることができることを示す。
【０１０４】
〔機能ブロック化の例〕
図１７を参照して、本実施形態に係る制御装置１を機能ブロック化した別の例を説明する。図１７は、制御装置１を機能ブロック化した例を示す図である。
【０１０５】
図１７に示す機能ブロック（peakcut）では、左側に入力データ、右側に出力データを示している。図１７に示すように、本実施形態では、入力データとして、装置のモデル情報（M_machine  D_machine  C_machine）、制御周期（sampletime）、初期位置、速度（start_pos  start_vel）、終端位置、速度（end_pos  end_vel）、駆動時間（movetime）、移動平均時間（acctime）が入力される。そして、これらの入力に対し、出力データとして、位置（peak_cut_pos）、速度（peak_cut_vel）が出力される。
【０１０６】
なお、図１７に示す例では、装置のモデル情報「Ｍ、Ｄ、Ｃ」、制御周期「sampletime」、初期位置「１０」、初期速度「１０」、終端位置「１００」、終端速度「０」、駆動時間「movetime」、移動平均時間「２０」が入力され、位置「result_pos」および速度「result_vel」が出力されている。
【０１０７】
〔ソフトウェアによる実現例〕
制御装置１の制御ブロック（特に軌跡部２００（トルク軌跡生成部２０１、入力軌跡生成部２０２）、および動作指示部３００）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１０８】
後者の場合、制御装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１０９】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１１０】
１  制御装置（入力軌跡生成装置）
３  サーボドライバ
４  サーボモータ
５  制御対象
８  サポート装置
１００  入力受付部
２００  軌跡部
２０１  トルク軌跡生成部
２０２  入力軌跡生成部
２０４  軌跡生成部
３００  動作指示部
【図１】
2018060289.tif 000003
【図２】
2018060289.tif 000004
【図３】
2018060289.tif 000005
【図４】
2018060289.tif 000006
【図５】
2018060289.tif 000007
【図６】
2018060289.tif 000008
【図７】
2018060289.tif 000009
【図８】
2018060289.tif 000010
【図９】
2018060289.tif 000011
【図１０】
2018060289.tif 000012
【図１１】
2018060289.tif 000013
【図１２】
2018060289.tif 000014
【図１３】
2018060289.tif 000015
【図１４】
2018060289.tif 000016
【図１５】
2018060289.tif 000017
【図１６】
2018060289.tif 000018
【図１７】
2018060289.tif 000019