(57)【特許請求の範囲】
【請求項１】
機械を駆動させるための指示情報である位置指令を生成する指令生成装置であって、
目標移動距離と、目標移動時間と、制振対象となる振動の共振周波数と、を少なくとも含む機械性能指標の入力を受け付ける受付部と、
前記機械性能指標に基づいて前記振動を抑制する位置指令のパラメータを算出するための複数の制振条件式が格納された記憶部と、
前記複数の制振条件式の中から、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に基づいて、位置指令を生成すべき制振条件式を選択する条件式選択部と、
前記機械性能指標と、選択された前記制振条件式とに基づいて前記パラメータを算出するパラメータ算出部と、
前記パラメータ算出部により算出された前記パラメータに基づいて、前記位置指令を算出する位置指令生成部と、を備えていることを特徴とする指令生成装置。
【請求項２】
前記受付部は、前記制御性能指標の入力を受け付け、
前記条件式選択部は、前記受付部が受け付けた前記制御性能指標に基づいて、前記制振条件式の選択を行うことを特徴とする請求項１に記載の指令生成装置。
【請求項３】
前記制御性能指標は、
目標移動時間を優先する第１の制御性能指標と、
前記機械を駆動させるための動力を発生する動力発生部の負荷低減を優先する第２の制御性能指標と、
前記動力発生部の負荷低減および目標移動時間を優先する第３の制御性能指標とのうちの少なくとも１つを含むことを特徴とする請求項１または２に記載の指令生成装置。
【請求項４】
前記記憶部は、前記制御性能指標ごとに前記制振条件式のそれぞれに設定された優先順位を記憶しており、
前記条件式選択部は、前記複数の制振条件式のうち、入力された制御性能指標に対応する優先順位が最も高い制振条件式を選択し、
前記パラメータ算出部は、前記機械性能指標を満たし、かつ、優先順位が最も高い制振条件式を満たす前記パラメータを算出することを特徴とする請求項３に記載の指令生成装置。
【請求項５】
前記受付部が前記第１の制御性能指標の入力を受け付けており、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、選択された制振条件式を満たす前記パラメータを算出することができない場合、前記条件式選択部が、前記複数の制振条件式のうち、次に優先順位が高い制振条件式を選択し、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出する処理を繰り返して行うことを特徴とする請求項４に記載の指令生成装置。
【請求項６】
全ての制振条件式について、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、制振条件式を満たす前記パラメータを算出することができない場合、各制振条件式について、当該制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行うことを特徴とする請求項５に記載の指令生成装置。
【請求項７】
前記第１の制御性能指標に対応する優先順位は、各制振条件式のそれぞれに対して同一の周波数を用いて算出した解から求められる加速開始から減速終了までの時間に応じて、各制振条件式に対して設定されていることを特徴とする請求項４から６の何れか１項に記載の指令生成装置。
【請求項８】
前記受付部が前記第２の制御性能指標の入力を受け付けており、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、選択された制振条件式を満たす前記パラメータを算出することができない場合、前記パラメータ算出部は、選択された制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行うことを特徴とする請求項４に記載の指令生成装置。
【請求項９】
前記パラメータ算出部が前記抽出処理においてパラメータを抽出できない場合、前記条件式選択部が次に優先順位が高い制振条件式を選択し、前記パラメータ算出部が当該制振条件式に基づいて前記パラメータを算出する処理を繰り返して行うことを特徴とする請求項８に記載の指令生成装置。
【請求項１０】
前記第２の制御性能指標に対応する優先順位は、各制振条件のそれぞれに対して同一の周波数を用いて算出した解から求められる前記動力発生部の負荷率に応じて、各制振条件式に対して設定されていることを特徴とする請求項４，８および９の何れか１項に記載の指令生成装置。
【請求項１１】
前記受付部が前記第３の制御性能指標の入力を受け付けており、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、選択された制振条件式を満たす前記パラメータを算出することができない場合、前記条件式選択部が、前記複数の制振条件式のうち、次に優先順位が高い制振条件式を選択し、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出する処理を繰り返して行うことを特徴とする請求項４に記載の指令生成装置。
【請求項１２】
全ての制振条件式について、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、制振条件式を満たす前記パラメータを算出することができない場合、前記条件式選択部は、各制振条件式について、当該制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行うことを特徴とする請求項１１に記載の指令生成装置。
【請求項１３】
機械を駆動させるための指示情報である位置指令を生成する指令生成装置であって、
目標移動距離と、目標移動時間と、制振対象となる振動の共振周波数と、を少なくとも含む機械性能指標の入力を受け付ける受付部と、
前記機械性能指標に基づいて前記振動を抑制する位置指令のパラメータを算出するための複数の制振条件式のそれぞれについて、前記機械性能指標と、当該制振条件式とに基づいて前記パラメータを算出するパラメータ算出部と、
前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に基づいて、算出された前記パラメータの評価を行うパラメータ評価部と、
前記パラメータ評価部の評価により、最も高く評価された前記パラメータに基づいて、前記位置指令を生成する位置指令生成部とを備えたことを特徴とする指令生成装置。
【請求項１４】
前記パラメータ算出部は、複数の制振条件式のそれぞれについて、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出することを特徴とする請求項１３に記載の指令生成装置。
【請求項１５】
前記パラメータ算出部は、複数の制振条件式のそれぞれについて、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出することができない場合、当該制振条件式について、当該制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行うことを特徴とする請求項１４に記載の指令生成装置。
【請求項１６】
前記受付部は、前記制御性能指標の入力を受け付け、
前記パラメータ評価部は、前記受付部が受け付けた制御性能指標に基づいて、算出された前記パラメータの評価を行うことを特徴とする請求項１３から１５の何れか１項に記載の指令生成装置。
【請求項１７】
前記制御性能指標は、
目標移動時間を優先する第１の制御性能指標と、
前記機械を駆動させるための動力を発生する動力発生部の負荷低減を優先する第２の制御性能指標と、
前記動力発生部の負荷低減および目標移動時間を優先する第３の制御性能指標とのうちの少なくとも１つを含むことを特徴とする請求項１６に記載の指令生成装置。
【請求項１８】
前記受付部が前記第１の制御性能指標の入力を受け付けている場合、前記パラメータ評価部は、前記パラメータ算出部が算出したパラメータのうち、前記目標移動時間に最も近い移動時間となるパラメータを最も高く評価することを特徴とする請求項１７に記載の指令生成装置。
【請求項１９】
前記受付部が前記第２の制御性能指標の入力を受け付けている場合、前記パラメータ評価部は、前記パラメータ算出部が算出したパラメータのうち、前記動力発生部の負荷率が最も小さいパラメータを最も高く評価することを特徴とする請求項１７に記載の指令生成装置。
【請求項２０】
前記受付部が前記第３の制御性能指標の入力を受け付けている場合、前記パラメータ評価部は、前記パラメータ算出部が算出したパラメータのうち、前記目標移動時間に最も近い移動時間となるパラメータを最も高く評価することを特徴とする請求項１７に記載の指令生成装置。
【請求項２１】
前記パラメータ評価部は、前記目標移動時間に最も近い移動時間となるパラメータが複数存在する場合、当該複数のパラメータのうち、前記動力発生部の負荷率が最も小さいパラメータを最も高く評価することを特徴とする請求項２０に記載の指令生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は装置を移動させる際の位置指令を生成する指令生成装置に関する。
【背景技術】
【０００２】
モータ等の動力発生部により駆動される産業用ロボットや搬送装置などの各種機械は、コントローラからドライバへ出力される位置指令に応じて制御される。ドライバは、当該位置指令に基づいて、モータが出力すべきトルク及びモータへ入力すべき電流値等を演算し、モータを駆動させる。ここで、位置指令とは、モータまたは当該モータにより駆動される部材における、現在時刻から所定期間経過後の位置を指示する指令である。
【０００３】
さらに、近年は、機械の固有振動数による振動を励起しない条件（以下、制振条件と称する）を満たすことで、機械に生じる振動を抑える制振技術について研究されている。制振技術が適用された場合、コントローラは、制振条件を満たした位置指令をドライバへ出力する。ドライバは当該位置指令に基づいてモータを駆動させる。これにより、機械の振動を抑制することができる。例えば、機械が搬送装置である場合、振動を抑制しつつ搬送物の搬送が可能となる。
【０００４】
制振条件を満たすための条件式は種々の文献に開示されている。特許文献１には、最大加速度の制限値を満足させつつ制振条件を満たした位置指令を生成するための条件式が開示されている。非特許文献１にも制振条件を満たすための条件式が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許４６０１６５９号（２００９年６月４日公開）
【非特許文献】
【０００６】
【非特許文献１】岩崎  誠,松井  信行、”振動抑制効果を考慮したロボットアームの最適位置指令設計法”、電気学会論文誌Ｃ、電子・情報・システム部門誌、Vol.117-C,No.1,p50-p56,1997年
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、制振技術を適用する場合、使用者が意図する機械の制御目標（例えば、移動距離・移動時間・モータの実効負荷率及び最大加速度等のうち何れを優先させるべきかを示す目標）を考慮して運用される必要がある。
【０００８】
しかし、制振条件を満たす位置指令が複数存在する場合、使用者が、制御目標に合致した条件式を適切に選択することは容易ではない。このため、機械の所望の制御目標に従って、効率的に機械を動作させることができない。または、適切に条件式を選択するために機械を調整したり検証したりすると、工数が増大してしまう。
【０００９】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御目標に合った位置指令を生成することである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の位置指令装置は、機械を駆動させるための指示情報である位置指令を生成する指令生成装置であって、目標移動距離と、目標移動時間と、制振対象となる振動の共振周波数と、を少なくとも含む機械性能指標の入力を受け付ける受付部と、前記機械性能指標に基づいて前記振動を抑制する位置指令のパラメータを算出するための複数の制振条件式が格納された記憶部と、前記複数の制振条件式の中から、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に基づいて、位置指令を生成すべき制振条件式を選択する条件式選択部と、前記機械性能指標と、選択された前記制振条件式とに基づいて前記パラメータを算出するパラメータ算出部と、前記パラメータ算出部により算出された前記パラメータに基づいて、前記位置指令を算出する位置指令生成部と、を備えていることを特徴とする。
【００１１】
前記構成によると、前記条件式選択部は、前記機械性能指標に基づいて前記振動を抑制する位置指令のパラメータを算出するための複数の制振条件式の中から、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に基づいて、位置指令を生成すべき制振条件式を選択する。このため、前記条件式選択部は、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標を満足させるための、最適な制振条件式を選択することができる。
【００１２】
そして、前記パラメータ算出部は、前記機械性能指標と、選択された前記制振条件式とに基づいて前記パラメータを算出する。前記位置指令生成部は、前記パラメータ算出部により算出された前記パラメータに基づいて、前記位置指令を算出する。これにより、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に応じて、前記機械性能指標を満足させるか、または、近い値となるような位置指令を生成することができる。
【００１３】
このため、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御目標に合った位置指令を生成することができる。
【００１４】
また、前記受付部は、前記制御性能指標の入力を受け付け、前記条件式選択部は、前記受付部が受け付けた前記制御性能指標に基づいて、前記制振条件式の選択を行うことが好ましい。これにより、使用者は、状況に応じて指標を変更した制御性能指標を作成し、前記受付部に入力することができるため、利便性が高い指令生成装置を得ることができる。
【００１５】
また、前記制御性能指標は、目標移動時間を優先する第１の制御性能指標と、前記機械を駆動させるための動力を発生する動力発生部の負荷低減を優先する第２の制御性能指標と、前記動力発生部の負荷低減および目標移動時間を優先する第３の制御性能指標とのうちの少なくとも１つを含むことが好ましい。
【００１６】
前記構成によると、前記制御性能指標は、使用者が所望する可能性が高い制御目標を含むため、位置指令生成部は、より使用者が所望する指標を満足させる位置指令を生成することができる。
【００１７】
また、前記記憶部は、前記制御性能指標ごとに前記制振条件式のそれぞれに設定された優先順位を記憶しており、前記条件式選択部は、前記複数の制振条件式のうち、入力された制御性能指標に対応する優先順位が最も高い制振条件式を選択し、前記パラメータ算出部は、前記機械性能指標を満たし、かつ、優先順位が最も高い制振条件式を満たす前記パラメータを算出することが好ましい。前記構成によると、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御目標に合った位置指令を生成することができる。
【００１８】
また、前記受付部が前記第１の制御性能指標の入力を受け付けており、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、選択された制振条件式を満たす前記パラメータを算出することができない場合、前記条件式選択部が、前記複数の制振条件式のうち、次に優先順位が高い制振条件式を選択し、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出する処理を繰り返して行うことが好ましい。前記構成によると、前記位置指令生成部は、使用者が所望する制御目標である、目標移動時間を優先させた位置指令を生成することができる。
【００１９】
また、全ての制振条件式について、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、制振条件式を満たす前記パラメータを算出することができない場合、各制振条件式について、当該制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行うことが好ましい。前記構成によると、前記位置指令生成部は、使用者が所望する制御目標である、目標移動時間を優先させた位置指令を生成することができる。
【００２０】
また、前記第１の制御性能指標に対応する優先順位は、各制振条件式のそれぞれに対して同一の周波数を用いて算出した解から求められる加速開始から減速終了までの時間に応じて、各制振条件式に対して設定されていることが好ましい。このようにして、前記第１の制御性能指標に対応する優先順位を決定することができる。
【００２１】
また、前記受付部が前記第２の制御性能指標の入力を受け付けており、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、選択された制振条件式を満たす前記パラメータを算出することができない場合、前記パラメータ算出部は、選択された制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行うことが好ましい。前記構成により、前記位置指令生成部は、使用者が所望する制御目標である、前記機械を駆動させるための動力を発生する動力発生部の負荷低減を優先させた位置指令を生成することができる。
【００２２】
また、前記パラメータ算出部が前記抽出処理においてパラメータを抽出できない場合、前記条件式選択部が次に優先順位が高い制振条件式を選択し、前記パラメータ算出部が当該制振条件式に基づいて前記パラメータを算出する処理を繰り返して行うことが好ましい。前記構成により、前記位置指令生成部は、使用者が所望する制御目標である、前記機械を駆動させるための動力を発生する動力発生部の負荷低減を優先させた位置指令を生成することができる。
【００２３】
また、前記第２の制御性能指標に対応する優先順位は、各制振条件のそれぞれに対して同一の周波数を用いて算出した解から求められる前記動力発生部の負荷率に応じて、各制振条件式に対して設定されていることが好ましい。このようにして、前記第２の制御性能指標に対応する優先順位を決定することができる。
【００２４】
また、前記受付部が前記第３の制御性能指標の入力を受け付けており、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、選択された制振条件式を満たす前記パラメータを算出することができない場合、前記条件式選択部が、前記複数の制振条件式のうち、次に優先順位が高い制振条件式を選択し、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出する処理を繰り返して行うことが好ましい。前記構成によると、前記位置指令生成部は、使用者が所望する制御目標である、前記動力発生部の負荷低減および目標移動時間を優先させた位置指令を生成することができる。
【００２５】
また、全ての制振条件式について、前記パラメータ算出部が、前記機械性能指標を満たし、かつ、制振条件式を満たす前記パラメータを算出することができない場合、前記条件式選択部は、各制振条件式について、当該制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行うことが好ましい。前記構成によると、前記位置指令生成部は、使用者が所望する制御目標である、前記動力発生部の負荷低減および目標移動時間を優先させた位置指令を生成することができる。
【００２６】
上記の課題を解決するために、本発明の位置指令装置は、また、機械を駆動させるための指示情報である位置指令を生成する指令生成装置であって、目標移動距離と、目標移動時間と、制振対象となる振動の共振周波数と、を少なくとも含む機械性能指標の入力を受け付ける受付部と、前記機械性能指標に基づいて前記振動を抑制する位置指令のパラメータを算出するための複数の制振条件式のそれぞれについて、前記機械性能指標と、当該制振条件式とに基づいて前記パラメータを算出するパラメータ算出部と、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に基づいて、算出された前記パラメータの評価を行うパラメータ評価部と、前記パラメータ評価部の評価により、最も高く評価された前記パラメータに基づいて、前記位置指令を生成する位置指令生成部とを備えたことを特徴とする。
【００２７】
前記構成によると、前記パラメータ算出部は、前記機械性能指標に基づいて前記振動を抑制する位置指令のパラメータを算出するための複数の制振条件式のそれぞれについて、前記機械性能指標と、当該制振条件式とに基づいて前記パラメータを算出する。前記パラメータ評価部は、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に基づいて、算出された前記パラメータの評価を行う。そして、前記位置指令生成部は、前記パラメータ評価部の評価により、最も高く評価された前記パラメータに基づいて、前記位置指令を生成する。
【００２８】
これにより、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に応じて、前記機械性能指標を満足させるか、または、近い値となるような位置指令を生成することができる。
【００２９】
このため、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御目標に合った位置指令を生成することができる。
【００３０】
また、前記パラメータ算出部は、複数の制振条件式のそれぞれについて、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出することが好ましい。前記構成によると、前記位置指令生成部は、前記パラメータ算出部により算出された前記パラメータに基づいて、前記位置指令を算出する。これにより、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に応じて、前記機械性能指標を満たす位置指令を生成することができる。このため、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御目標に合った位置指令を生成することができる。
【００３１】
また、前記パラメータ算出部は、複数の制振条件式のそれぞれについて、前記機械性能指標を満たし、かつ、当該制振条件式を満たす前記パラメータを算出することができない場合、当該制振条件式について、当該制振条件式を満たし、かつ、目標移動時間を除く機械性能指標を満たすパラメータを算出し、算出したパラメータの中から最も目標移動時間に近いパラメータを抽出する抽出処理を行う。
【００３２】
前記構成によると、前記位置指令生成部は、前記パラメータ算出部により算出された前記パラメータに基づいて、前記位置指令を算出する。これにより、前記機械の駆動制御の際に優先すべき項目を示す制御性能指標に応じて、目標移動時間を除く機械性能指標を満たし、かつ、目標移動時間に近い位置指令を生成することができる。このため、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御目標に合った位置指令を生成することができる。
【００３３】
また、前記受付部は、前記制御性能指標の入力を受け付け、前記パラメータ評価部は、前記受付部が受け付けた制御性能指標に基づいて、算出された前記パラメータの評価を行う。これにより、使用者は、状況に応じて指標を変更した制御性能指標を作成し、前記受付部に入力することができるため、利便性が高い指令生成装置を得ることができる。
【００３４】
また、前記制御性能指標は、目標移動時間を優先する第１の制御性能指標と、前記機械を駆動させるための動力を発生する動力発生部の負荷低減を優先する第２の制御性能指標と、前記動力発生部の負荷低減および目標移動時間を優先する第３の制御性能指標とのうちの少なくとも１つを含むことが好ましい。前記構成によると、前記制御性能指標は、使用者が所望する可能性が高い制御目標を含むため、位置指令生成部は、より使用者が所望する指標を満足させる位置指令を生成することができる。
【００３５】
また、前記受付部が前記第１の制御性能指標の入力を受け付けている場合、前記パラメータ評価部は、前記パラメータ算出部が算出したパラメータのうち、前記目標移動時間に最も近い移動時間となるパラメータを最も高く評価することが好ましい。前記構成によると、前記位置指令生成部は、使用者が所望する制御目標である、目標移動時間を優先させた位置指令を生成することができる。
【００３６】
また、前記受付部が前記第２の制御性能指標の入力を受け付けている場合、前記パラメータ評価部は、前記パラメータ算出部が算出したパラメータのうち、前記動力発生部の負荷率が最も小さいパラメータを最も高く評価することが好ましい。前記構成により、前記位置指令生成部は、使用者が所望する制御目標である、前記機械を駆動させるための動力を発生する動力発生部の負荷低減を優先させた位置指令を生成することができる。
【００３７】
また、前記受付部が前記第３の制御性能指標の入力を受け付けている場合、前記パラメータ評価部は、前記パラメータ算出部が算出したパラメータのうち、前記目標移動時間に最も近い移動時間となるパラメータを最も高く評価することが好ましい。前記構成によると、前記位置指令生成部は、使用者が所望する制御目標である、前記動力発生部の負荷低減および目標移動時間を優先させた位置指令を生成することができる。
【００３８】
前記パラメータ評価部は、前記目標移動時間に最も近い移動時間となるパラメータが複数存在する場合、当該複数のパラメータのうち、前記動力発生部の負荷率が最も小さいパラメータを最も高く評価することが好ましい。前記構成によると、前記位置指令生成部は、使用者が所望する制御目標である、前記動力発生部の負荷低減および目標移動時間を優先させた位置指令を生成することができる。
【発明の効果】
【００３９】
本発明は、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する優先度に合った位置指令を生成するという効果を奏する。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施形態１に係る搬送装置の構成を表す図である。
【図２】本発明の実施形態１に係る搬送装置の各条件式に優先度が付されている様子を表す図である。
【図３】図３は、条件式１により生成された位置指令のプロファイルを表す図である。
【図４】図４は、条件式２により生成された位置指令のプロファイルを表す図である。
【図５】本発明の実施形態１に係る搬送装置が生成した位置指令を表す図である。
【図６】本発明の実施形態１に係る搬送装置が有する指令生成部の処理の流れを表す図である。
【図７】本発明の実施形態１に係る搬送装置が有する指令生成部が生成する位置指令の具体例を示す図である。
【図８】図７に示した位置指令の各プロファイルについて、加速度成分を周波数で解析をした結果を表す図である。
【図９】本発明の実施形態２に係る搬送装置の構成を表す図である。
【図１０】本発明の実施形態２に係る指令生成部の処理の流れを表す図である。
【図１１】目標移動時間を優先とする制御性能条件が入力された場合の指令生成部の処理の流れを表す図である。
【図１２】モータの負荷低減を優先とする制御性能条件が入力された場合の指令生成部の処理の流れを表す図である。
【発明を実施するための形態】
【００４１】
〔実施形態１〕
図１〜図８、図１１及び図１２を用いて、本発明の実施形態１について説明する。なお、以下では、制振対象となる機械が搬送物を搬送する搬送装置である場合について説明するが、制振対象となる機械はこれに限定されるものではない。
【００４２】
（搬送システム１の構成）
図１は、本発明の実施形態１に係る搬送システム１の構成を表す図である。図１に示すように、搬送装置１は、コントローラ（指令生成装置）２と、ドライバ３と、モータ（動力発生部）４と、搬送装置５とを備えている。搬送装置５には、搬送対象である搬送物６が載置されている。コントローラ２は指令生成部１０を有する。コントローラ２は、モータ４を駆動させるための位置指令（所定の移動時間後の位置を指定する指令）を生成し、ドライバ３に出力する。搬送装置１の各種動作を制御する。
【００４３】
ドライバ３は、コントローラ２から所定の周期毎に入力される位置指令に基づいて、モータが出力すべきトルク又は電流を算出し、当該算出結果に基づいてモータ４を駆動させる。
【００４４】
モータ４は、ドライバ３からの入力に基づいて駆動することで搬送装置５を所定の距離及び速度で移動させる。モータ４は、エンコーダを備えており、搬送装置５を移動させた距離を逐次、ドライバ３へフィードバックする。搬送装置５は、モータ４からの出力に基づいて搬送物６を搬送する。
【００４５】
コントローラ２が備える指令生成部１０は、使用者からの入力された情報に基づいて位置指令を生成し、当該生成した位置指令をドライバ３へ出力する。この際、指令生成部１０は、モータ４または搬送装置５の移動距離、移動時間などの動作条件、モータ４の性能条件（出力可能なトルク）、および制振条件を満たすように条件式から各種パラメータの解を求めて位置指令を生成する。そして、指令生成部１０は当該位置指令を所定の周期毎にドライバ３へ出力する。
【００４６】
指令生成部１０は、受付部１１と、記憶部１２と、条件式選択部１３と、パラメータ算出部１４と、位置指令生成部１５とを有する。
【００４７】
受付部１１は、使用者によってコントローラ２に入力された機械性能条件（機械性能指標）及び制御性能条件（制御性能指標）を受け付ける。機械性能条件及び制御性能条件は、位置指令を生成するために必要な入力値である。
【００４８】
機械性能条件は、搬送システム１における所望の動作に基づいて設定される条件である。機械性能条件としては、位置指令を出力する周期（目標移動時間）、当該目標移動時間におけるモータ４または搬送装置５の目標移動距離、及び、搬送装置５において抑制したい振動（制振対象となる振動）の共振周波数等を挙げることができる。
【００４９】
制御性能条件は、搬送システム１を設計する上で、モータ４または搬送装置５を制御する際に優先すべき項目（指標）を示す条件である。つまり、制御性能条件は、使用者が制御の際に優先させたい項目（指標）を示す情報を含む。制御性能条件の代表的なものとして、以下の第１〜第３の制御性能条件を挙げることができる。
【００５０】
第１の制御性能条件（第１の制振性能指標）は、機械性能条件として設定された共振周波数の振動を抑制する位置指令の中で、機械性能条件として設定された目標移動時間になるべく近い位置指令を優先させる条件であり、目標移動時間を優先させる条件である。第２の制御性能条件（第２の制振性能指標）は、機械性能条件として設定された共振周波数の振動を抑制する位置指令の中で、モータ４の負荷率上昇をなるべく抑えた位置指令を優先させる条件であり、モータ４の負荷率低減を優先させる条件である。第３の制御性能条件（第３の制振性能指標）は、第１及び第２の制御性能条件の組み合わせであり、モータの負荷率をなるべく低減するとともに、かつ、目標移動時間になるべく近い位置指令を優先させる条件である。
【００５１】
本実施形態では、制御性能条件として、第１〜第３の制御性能条件を取る場合について説明する。第１〜第３の制御性能条件は、使用者が所望する可能性が高い指標を含むため、位置指令生成部１５は、より使用者が所望する指標を満足させる位置指令を生成することができる。
【００５２】
なお、第１〜第３の制御性能条件は、制御性能条件の一例であり、これらに限定されるものではない。制御性能条件には、第１〜第３の制御性能条件以外に、搬送システム１を設計する上で、モータ４または搬送装置５を制御する際に優先すべき項目を含む条件が含まれていてもよい。
【００５３】
本実施形態では、受付部１１は、使用者から制御性能条件の入力を受け付けつける。このため、使用者は、搬送システム１の設計において優先すべき項目を含む制御性能条件を作成し、受付部１１に入力すればよい。これにより、利便性が高い位置指令生成装置を得ることができる。なお、制御性能条件は、使用者により都度入力されずとも、予めコントローラ内に記憶されていてもよい。
【００５４】
記憶部１２には、機械性能条件と、制御性能条件とから位置指令を生成するための複数の条件式が格納されている。記憶部１２に記憶されている条件式は、共振周波数の振動を制振するための条件式（制振条件式）である。各条件式には、使用者が入力する制御性能条件に応じた優先順位が付されて記憶部１２に記憶されている。なお、条件式の詳細は後述する。
【００５５】
条件式選択部１３は、使用者から入力された制御性能条件に対応する優先順位が最も高い条件式を、記憶部１２を参照することで選択する。このため、条件式選択部１３は、使用者から入力された制御性能条件に基づいて、機械性能条件を満足させるための、最適な条件式を選択することができる。
【００５６】
パラメータ算出部１４は、使用者により入力された機械性能指標と、条件式選択部１３により選択された条件式とに基づいて、位置指令を一義的に算出するためのパラメータを算出する。パラメータとしては、加速度、速度等があげられる。
【００５７】
位置指令生成部１５は、パラメータ算出部１４により算出されたパラメータに基づいて位置指令を生成し、当該生成した位置指令を所定周期毎に、指令値としてドライバ３へ出力する。このため、位置指令生成部１５は、第１〜第３の制御性能条件に応じて、機械性能指標を満足させるか、または、近い値となるような位置指令を生成することができる。このため、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御性能条件に合った位置指令を生成することができる。
【００５８】
（制振条件式）
図２は、記憶部１２における一記憶例を示す図である。図２に示すように、記憶部１２は、複数の条件式それぞれについて、制御性能条件に対応する優先順位を記憶している。
【００５９】
ここでは、第１の制御性能条件（目標移動時間を優先）に対応する優先順位と、第２の制御性能条件（モータの負荷低減を優先）に対応する優先順位とが各条件式に付されている。なお、第３の制御性能条件（モータの負荷低減および目標移動時間の両者を優先）に対応する優先順位は、第２の制御性能条件に対応する優先順位と同一であるため、図２では図示を省略している。
【００６０】
例えば、条件式１には、搬送システム１を制御する際に優先すべき項目が「目標移動時間」である第１の制御性能条件に対して優先順位「２」が、優先すべき項目が「モータの負荷低減」の第２の制御性能条件に対して「１」が付されている。条件式２には、第１の制御性能条件に対して優先順位「１」が、第２の制御性能条件に対して優先順位「２」が付されている。
【００６１】
このため、使用者により、制御性能条件として第１の制御性能条件（目標移動時間を優先）が入力されると、第１の制御性能条件に対応する優先順位が高い条件式２が選択される。一方、使用者により、制御性能条件として第２の制御性能条件（モータの負荷低減を優先）が入力されると、第２の制御性能条件に対応する優先順位が高い条件式１が選択される。同様に、制御性能条件として第３の制御性能条件（モータの負荷低減および目標移動時間の両者を優先）が入力されると、第３の制御性能条件に対応する優先順位が高い条件式１が選択される。
【００６２】
このように、各条件式のそれぞれには、制御性能条件毎に優先順位が付されているため、条件式選択部１３は、入力された制御性能条件に応じて、最適な条件式を選択することができる。なお、条件式の選択及び位置指令の生成方法についての詳細は後述する。
【００６３】
次に、図３及び図４を用いて、条件式の例である条件式１及び条件式２について説明する。図３は、条件式１により生成された位置指令のプロファイルを表す図である。図４は、条件式２により生成された位置指令のプロファイルを表す図である。図３及び図４とも、横軸は移動時間を表し、縦軸は加速度を表している。
【００６４】
記憶部１２は、例えば以下の＜条件式１＞及び＜条件式２＞を記憶している。
【００６５】
＜条件式１＞
Ｔ１＝ｎ／ｆ        （式１）
＜条件式２＞
Ｔ１＋Ｔ２＝ｎ／ｆ  （式２）
ただし、ｆは制振周波数（共振周波数）、ｎは自然数である。また、図中のＴａ＝１／ｆとする。
【００６６】
図３及び図４に示す条件式１によるプロファイル及び条件式２によるプロファイルとも、最初のＴ１は加速期間であり、次のＴ２は等速期間であり、次のＴ１は減速期間である。
【００６７】
図３及び図４に示す条件式１によるプロファイル及び条件式２によるプロファイルとも、等速期間（Ｔ２）を挟む前後の加速期間（Ｔ１）及び減速期間（Ｔ１）は同じ時間（対称）に設定されている。
【００６８】
図３に示す条件式１の制振条件は、Ｔ１を、振動を抑えたい周波数である制振周波数ｆの逆数であるＴａ（またはその倍数）となるように設定する。これにより、制振周波数ｆによる振動を抑制した位置指令を作成することができる。
【００６９】
図４に示す条件式２の制振条件は、Ｔ１＋Ｔ２をＴａ（またはその倍数）となるように設定する。これにより、制振周波数ｆによる振動を抑制した位置指令を作成することができる。
【００７０】
図３および図４に示されるように、同じ制振周波数ｆが指定された場合、図４に示す条件式２によるプロファイルの方が、図３に示す条件式１によるプロファイルと比べ、加速開始から減速終了までの合計の移動時間が短い。このため、使用者に与えられた目標移動時間となるような位置指令を作成するには、条件式１により生成された位置指令を用いるよりも、条件式２により生成された位置指令を用いた方が合せやすい。
【００７１】
一方、図４に示す条件式２によるプロファイルの方が、図３に示す条件式１によるプロファイルと比べ、加速期間における加速度および減速期間における減速度が大きい。このため、条件式２により生成された位置指令を用いるよりも、条件式１により生成された位置指令を用いた方がモータの負荷を低減する効果が得られる。
【００７２】
ここで、条件式２より条件式１を用いる方が、モータの負荷を低減する効果が得られることについて、さらに説明する。
【００７３】
図５は、位置指令を表す図である。図５の横軸は時間〔ｓ〕を表し、縦軸は加速度〔ｍ／ｓ２〕を表す。モータの負荷の大小を判定するには、例えば、モータの実効トルクの大小を判定すればよい。実効トルクは以下のように表すことができる。
【００７４】
実効トルク＝√(（正側最大トルク２×加速時間＋負側最大トルク２×減速時間）／移動時間)
ここで、Ｔ：トルク、Ｊ：モータ軸換算総負荷イナーシャ、ω、モータ角速度、とすると、トルクは以下のように表される。
Ｔ＝Ｊ・ｄω／ｄｔ      
＝Ｊ×モータ各加速度
＝Ｊ×位置指令単位からモータ角度への変換係数×位置指令加速度
このように、トルクと位置指令加速度とは比例関係が成立している。このため、位置指令加速度の実効値（実効加速度）を確認することで、実効トルクの大小関係を判定することが可能である。すなわち、実効加速度は、モータの負荷率を示している。
【００７５】
実効加速度の計算式は以下のように表すことができる。
【００７６】
実効加速度＝√(（最大加速度２×加速時間＋最大減速度２×減速時間）／移動時間)
この実効加速度の計算式に当てはめると、条件式２より条件式１の方が、モータの負荷を低減する効果が得られることがわかる。
【００７７】
このように、各条件式は、同一の制振周波数ｆの振動を抑制可能な位置指令を生成するパラメータを算出するための式であるが、算出されるパラメータが異なる。当該算出されるパラメータに応じて、各制御性能条件に適合する度合いが異なる。そのため、各制御性能条件に応じて、当該制御性能条件との適合度合いに従って各条件式の優先順位が予め決定される。
【００７８】
具体的には、条件式を満たすときの加速開始から減速終了までの合計の最短移動時間が小さいほど、目標移動時間を優先とする制御性能条件に適合しやすい。そのため、目標移動時間を優先とする制御性能条件に対して、当該最短移動時間が小さい順に優先順位が設定される。
【００７９】
一方、上記実効加速度が小さいほど、モータ負荷率の低減を優先とする制御性能条件に適合しやすい。そのため、モータ負荷率の低減を優先とする制御性能条件に対して、上記実効加速度が小さい順に優先順位が設定される。なお、使用者により、制御性能条件が入力されると、複数の条件式のうちの一つが選定される。そして、使用者により機械性能条件として、例えば、目標移動距離、目標移動時間、共振周波数が入力されると、各機械性能条件を満たす、又はできるだけ値が近くなるような位置指令を生成するために、選択された条件式の各パラメータである、Ｔ１、Ｔ２、加速度が算出される。このパラメータに基づいて位置指令が生成される。
【００８０】
Ｌ：移動距離、Ｔ：移動時間、ｆ：制振周波数、Ａ：加速度とすると、上記（式１）または（式２）と、以下の式とから、パラメータであるＴ１、Ｔ２、Ａを算出することができる。
【００８１】
Ｖ×（Ｔ１）＋Ｖ×（Ｔ２）＝Ｌ
Ａ＝Ｖ／Ｔ１
Ｖ＝Ｌ／Ｔ
２×（Ｔ１）＋（Ｔ２）＝Ｔ
なお、条件式としては、上記条件式１および２に限定されるものではなく、特許文献１に示されたような下記（式３）で示す条件式と、（式５）で示す条件式とが記憶されていてもよい。なお、（式３）中の「ｒ」はパラメータであり、（式４）で表される。
【００８２】
【数１】
0006409743.tif 000002
【００８３】
【数２】
0006409743.tif 000003
【００８４】
【数３】
0006409743.tif 000004
【００８５】
条件式１および条件式２以外の条件式についても、ある制振周波数ｆに対して当該条件式を満たすときの加速開始から減速終了までの合計の最短移動時間に従って、目標移動時間を優先とする制御性能条件に対する優先順位を設定すればよい。
【００８６】
また、ある制振周波数ｆに対して当該条件式を満たすときの実効加速度に従って、モータ負荷率の低減を優先とする制御性能条件に対する優先順位を設定すればよい。
【００８７】
（指令生成部１０の処理の流れ概略）
図６は、本発明の実施形態１に係る指令生成部１０の処理の流れを表す図である。図６に示すように、使用者からコントローラ２へ、機械性能条件及び制御性能条件が入力されると、指令生成部１０の受付部１１が、機械性能条件及び制御性能条件を受け付ける（ステップＳ１１）。
【００８８】
次に、条件式選択部１３は、記憶部１２を参照し、入力された制御性能条件に対応する優先順位が最も高い条件式を選択する（ステップＳ１２）。
【００８９】
そして、パラメータ算出部１４は、条件式選択部１３が選択した条件式を満たすパラメータを決定する（ステップＳ１３）。
【００９０】
その後、位置指令生成部１５は、ステップＳ１３で決定された当該パラメータに基づいて、位置指令のパターンを生成する（ステップＳ１４）。そして、位置指令生成部１５は生成した位置指令をドライバへ出力する。
【００９１】
（目標移動時間を優先する処理の流れ）
次に、目標移動時間を優先とする制御性能条件が入力された場合の指令生成部１０の処理の具体的な処理の流れについて説明する。
【００９２】
図１１は、目標移動時間を優先とする制御性能条件が入力された場合の指令生成部１０の処理の流れを表す図である。図１１において、ステップＳ１３１〜Ｓ１３７は、図６のステップＳ１３の詳細な処理を示している。
【００９３】
この場合、ステップＳ１２において、条件式選択部１３は、記憶部１２を参照し、目標移動時間を優先とする制御性能条件に対応する優先順位が最も高い条件式を選択する。例えば、記憶部１２が図２に示す条件式および優先順位を記憶している場合、条件式選択部１３は、目標移動時間を優先とする制御性能条件に対応する優先順位「１」の条件式２を選択する。
【００９４】
そして、パラメータ算出部１４は、条件式選択部１３が選択した条件式を満たし、かつ、機械性能条件を満たすパラメータの計算が可能か確認する（ステップＳ１３１）。ここで、パラメータは、上述したように、Ｔ１、Ｔ２、Ａ及びｎである。
【００９５】
パラメータ算出部１４が条件式および機械性能条件を満たすパラメータの計算ができた場合（ステップＳ１３１のＹＥＳ）、ステップＳ１３の処理を終了し、ステップＳ１４に移る。
【００９６】
一方、ステップＳ１３１において、パラメータ算出部１４が条件式および機械性能条件を満たすパラメータの計算がでなかった場合（ステップＳ１３１のＮＯ）、パラメータ算出部１４は、予め設定されている上限速度・加減速度以下の範囲内で、選択した条件式および機械性能条件（ただし目標移動時間を除く）を満たし、かつ、最も目標移動時間に近くなるパラメータを算出する（ステップＳ１３２）。なお、選択した条件式および機械性能条件（ただし目標移動時間を除く）を満たすパラメータを算出できない場合は、そのまま次のステップに移る。
【００９７】
次に、条件式選択部１３は、記憶部１２を参照し、既に選択した条件式とは異なる条件式が記憶されているか否かを判定する（ステップＳ１３３）。
【００９８】
条件式選択部１３は、記憶部１２に、既に選択した条件式とは異なる条件式が記憶されていると判定すると（ステップＳ１３３のＹＥＳ）、当該異なる選択式を選択する（ステップＳ１３４）。ここで、記憶部１２に、選択された条件式とは異なる条件式が複数記憶されている場合、条件式選択部１３は、当該複数の条件式のうち、選択された条件式の次に、入力された制御性能条件に対応づけられた優先順位が高い条件式を選択する。そして、再度、ステップＳ１３１以降の処理を行う。
【００９９】
例えば、記憶部１２が図２に示す条件式および優先順位を記憶しており、条件式２のみが既に選択されている場合、条件式選択部１３は、目標移動時間を優先とする制御性能条件に対応する優先順位「２」の条件式１を選択する。
【０１００】
ステップＳ１３３において、条件式選択部１３が、既に選択した条件式とは異なる条件式が記憶部１２に記憶されていないと判定すると（ステップＳ１３３のＮＯ）、パラメータ算出部１４は、選択済みの条件式についてステップＳ１３２で算出したパラメータが存在するか確認する（ステップＳ１３５）。
【０１０１】
ステップＳ１３５において、パラメータが存在しない場合（ステップＳ１３５のＮＯ）、指令生成部１０は、エラー通知を行い（ステップＳ１３７）、処理を終了する。
【０１０２】
ステップＳ１３５において、パラメータが存在する場合（ステップＳ１３５のＹｅｓ）、パラメータ算出部１４は、ステップＳ１３２で算出したパラメータの中から、最も目標移動時間に近いパラメータを抽出する（ステップＳ１３６）。そして、抽出したパラメータに基づいてステップＳ１４の処理が行われる。
【０１０３】
（モータの負荷低減を優先する処理の流れ）
次に、モータの負荷低減を優先とする制御性能条件が入力された場合の指令生成部１０の処理の具体的な処理の流れについて説明する。
【０１０４】
図１２は、モータの負荷低減を優先とする制御性能条件が入力された場合の指令生成部１０の処理の流れを表す図である。図１２において、ステップＳ１３１、Ｓ１３４、Ｓ１３７、Ｓ１４２、Ｓ１４３は、図６のステップＳ１３の詳細な処理を示している。
【０１０５】
この場合、Ｓ１２において、条件式選択部１３は、記憶部１２を参照し、モータの負荷低減を優先とする制御性能条件に対応する優先順位が最も高い条件式を選択する（ステップＳ１２）。例えば、記憶部１２が図２に示す条件式および優先順位を記憶している場合、条件式選択部１３は、モータの負荷低減を優先とする制御性能条件に対応する優先順位「１」の条件式１を選択する。
【０１０６】
そして、パラメータ算出部１４は、条件式選択部１３が選択した条件式を満たし、かつ、機械性能条件を満たすパラメータ（上述したＴ１、Ｔ２、Ａ及びｎ）の計算が可能か確認する（ステップＳ１３１）。
【０１０７】
パラメータ算出部１４が条件式および機械性能条件を満たすパラメータの計算ができた場合（ステップＳ１３１のＹＥＳ）、ステップＳ１３の処理を終了し、当該パラメータに基づいたステップＳ１４の処理に移る。
【０１０８】
一方、ステップＳ１３１において、条件式および機械性能条件を満たすパラメータの計算がでなかった場合（ステップＳ１３１のＮＯ）、パラメータ算出部１４は、予め設定されている上限速度・加減速度以下の範囲内で、選択した条件式および機械性能条件（ただし目標移動時間を除く）を満たし、かつ、最も目標移動時間に近くなるパラメータの算出が可能か確認する（ステップＳ１４２）。
【０１０９】
ステップＳ１４２において、パラメータの算出が可能である場合（ステップＳ１４２のＹＥＳ）、ステップＳ１３の処理を終了し、当該パラメータに基づいたステップＳ１４の処理に移る。
【０１１０】
ステップＳ１４２において、パラメータの算出ができない場合（ステップＳ１４２のＮＯ）、条件式選択部１３は、記憶部１２を参照し、既に選択した条件式とは異なる条件式が記憶されているか否かを判定する（ステップＳ１４３）。
【０１１１】
条件式選択部１３は、記憶部１２に、既に選択した条件式とは異なる条件式が記憶されていると判定すると（ステップＳ１４３のＹＥＳ）、当該異なる選択式を選択する（ステップＳ１３４）。ここで、記憶部１２に、選択された条件式とは異なる条件式が複数記憶されている場合、条件式選択部１３は、当該複数の条件式のうち、既に選択された条件式の次に、入力された制御性能条件に対応づけられた優先順位が高い条件式を選択する。そして、再度、ステップＳ１３１以降の処理を行う。
【０１１２】
例えば、記憶部１２が図２に示す条件式および優先順位を記憶しており、条件式１のみが既に選択されている場合、条件式選択部１３は、目標移動時間を優先とする制御性能条件に対応する優先順位「２」の条件式２を選択する。
【０１１３】
ステップＳ１４３において、条件式選択部１３が既に選択した条件式とは異なる条件式が記憶部１２に記憶されていないと判定すると（ステップＳ１４３のＮＯ）、指令生成部１０は、エラー通知を行い（ステップＳ１３７）、処理を終了する。
【０１１４】
（モータの負荷低減、かつ、目標移動時間とする処理の流れ）
次に、モータの負荷率をなるべく低減するとともに、かつ、目標移動時間になるべく近い位置指令を優先させる制御性能条件が入力された場合の指令生成部１０の処理の具体的な処理の流れについて説明する。つまり、目標移動時間を優先させた第１制御性能条件と、モータの負荷低減を優先させた第２制御性能条件とを組み合わせた第３制御性能条件が入力された場合である。この場合は、図１１と同様の処理が行われるため、図１１を参照しながら説明する。
【０１１５】
まず、条件式選択部１３は、記憶部１２を参照し、モータの負荷低減を優先とする制御性能条件に対応する優先順位が最も高い条件式を選択する（ステップＳ１２）。
【０１１６】
そして、パラメータ算出部１４は、条件式選択部１３が選択した条件式を満たし、かつ、機械性能条件を満たすパラメータの計算が可能か確認する（ステップＳ１３１）。
【０１１７】
パラメータ算出部１４が条件式および機械性能条件を満たすパラメータの計算ができた場合（ステップＳ１３１のＹＥＳ）、ステップＳ１３の処理を終了し、ステップＳ１４に移る。
【０１１８】
一方、ステップＳ１３１において、パラメータ算出部１４が条件式および機械性能条件を満たすパラメータの計算がでなかった場合（ステップＳ１３１のＮＯ）、パラメータ算出部１４は、予め設定されている上限速度・加減速度以下の範囲内で、選択した条件式および機械性能条件（ただし目標移動時間を除く）を満たし、かつ、最も目標移動時間に近くなるパラメータを算出する（ステップＳ１３２）。なお、選択した条件式および機械性能条件（ただし目標移動時間を除く）を満たすパラメータを算出できない場合は、そのまま次のステップに移る。
【０１１９】
次に、条件式選択部１３は、記憶部１２を参照し、既に選択した条件式とは異なる条件式が記憶されているか否かを判定する（ステップＳ１３３）。
【０１２０】
条件式選択部１３は、記憶部１２に、既に選択した条件式とは異なる条件式が記憶されていると判定すると（ステップＳ１３３）、当該異なる選択式を選択する（ステップＳ１３４）。ここで、記憶部１２に、選択された条件式とは異なる条件式が複数記憶されている場合、条件式選択部１３は、当該複数の条件式のうち、選択された条件式の次に、モータの負荷低減を優先とする制御性能条件に対応づけられた優先順位が高い条件式を選択する。そして、再度、ステップＳ１３１以降の処理を行う。
【０１２１】
ステップＳ１３４において、条件式選択部１３が、既に選択した条件式とは異なる条件式が記憶部１２に記憶されていないと判定すると（ステップＳ１３３のＮＯ）、パラメータ算出部１４は、選択済みの条件式についてステップＳ１３２で算出したパラメータが存在するか確認する（ステップＳ１３５）。
【０１２２】
ステップＳ１３５において、パラメータが存在しない場合（ステップＳ１３５のＮＯ）、指令生成部１０は、エラー通知を行い（ステップＳ１３７）、処理を終了する。
【０１２３】
ステップＳ１３５において、パラメータが存在する場合（ステップＳ１３５のＹＥＳ）、パラメータ算出部１４は、ステップＳ１３２で算出したパラメータの中から、最も目標移動時間に近いパラメータを抽出する（ステップＳ１３６）。そして、抽出したパラメータに基づいてステップＳ１４の処理が行われる。
【０１２４】
（位置指令の具体例）
図７は、コントローラ２の指令生成部１０が生成する位置指令の具体例を示す図である。図７において、横軸は時間〔ｓ〕を表し縦軸は加速度〔ｍ／ｓ２〕を表している。
【０１２５】
＜目標移動時間を優先した位置指令を生成する場合＞
上述したように、まず、目標移動時間を優先する制御性能条件に対応する優先順位が最も高い条件式および機械性能条件を満たすパラメータを探索し、パラメータを決めることができなければ、次に優先順位が高い条件式および機械性能条件を満たすパラメータを探索する。
【０１２６】
（例１）機械性能条件として、目標移動時間Ｔ＝０．０５〔ｓ〕、移動距離Ｌ＝１００〔ｍ〕、制振周波数ｆ＝５０〔Ｈｚ〕が入力され、記憶部１２が図２に示す条件式１，２を記憶している場合、条件式２によるプロファイルＰＲ２が位置指令として生成される。
【０１２７】
具体的には、目標移動時間Ｔ＝０．０５〔ｓ〕、制振周波数ｆ＝５０〔Ｈｚ〕であるから、上記（式２）を用いると、Ｔ１＋Ｔ２＝ｎ／ｆより、Ｔ１＋Ｔ２＝０．０２〔ｓ〕×ｎとなる必要がある。
【０１２８】
プロファイルＰＲ２のパラメータとして、Ｔ１＝０．０１〔ｓ〕、Ｔ２＝０．０３〔ｓ〕、ｎ＝２が算出されることで、Ｔ１＋Ｔ２＝０．０４となっている。
【０１２９】
なお、ｎ＝１は、パラメータとして算出されない。これは、制振条件を満たすには、等速期間（Ｔ２）を挟み、加速期間（Ｔ１）と減速期間（Ｔ１）とが同じ期間とならないといけないという前提があるところ、ｎ＝１、すなわち、Ｔ１＋Ｔ２＝０．０２〔ｓ〕、Ｔ＝０．０５〔ｓ〕、かつ、Ｔ２を挟む前後において加速期間と減速期間とが同じ（対称）となるＴ１及びＴ２が存在しないためである。
【０１３０】
（例２）機械性能条件として、目標移動時間Ｔ＝０．０３〔ｓ〕、移動距離Ｌ＝１００〔ｍ〕、制振周波数ｆ＝５０〔Ｈｚ〕が入力され、記憶部１２が図２に示す条件式１，２を記憶している場合、条件式２によるプロファイルＰＲ３が位置指令として生成される。
【０１３１】
プロファイルＰＲ３のパラメータとして、Ｔ１＝０．０１〔ｓ〕、Ｔ２＝０．０１〔ｓ〕、ｎ＝１が算出されることで、Ｔ１＋Ｔ２＝０．０２となっている。
【０１３２】
なお、条件式１を選択した場合、（例２）で示した機械性能条件をすべて満たすパラメータを算出することはできない。これは、上記（式１）より、Ｔ１＝ｎ／ｆ＝０．０２であるため、条件式１の最短移動時間は０．０４（Ｔ１×２、Ｔ２＝０）であるところ、Ｔ＝０．０３であり、与えられた機械性能条件を満たすことができないためである。
【０１３３】
＜モータの負荷低減を優先した位置指令を生成する場合＞
上述したように、モータの負荷低減を優先する制御性能条件に対応する優先順位が最も高い条件式および機械性能条件を満たすパラメータを探索し、パラメータを決めることができなければ、優先順位が最も高い条件式および機械性能条件（ただし目標移動時間を除く）を満たすパラメータを探索する。それでもパラメータを決めることができなければ、次に優先順位が高い条件式によりパラメータを探索する。
【０１３４】
（例３）機械性能条件として、目標移動時間Ｔ＝０．０５〔ｓ〕、移動距離Ｌ＝１００〔ｍ〕、制振周波数ｆ＝５０〔Ｈｚ〕が入力され、記憶部１２が図２に示す条件式１，２を記憶している場合、条件式１によるプロファイルＰＲ１が位置指令として生成される。
【０１３５】
プロファイルＰＲ１のパラメータとして、Ｔ１＝０．０２〔ｓ〕、等速期間（Ｔ２）＝０．０１〔ｓ〕、ｎ＝１が算出されている。
【０１３６】
（例４）機械性能条件として、目標移動時間Ｔ＝０．０３〔ｓ〕、移動距離Ｌ＝１００〔ｍ〕、制振周波数ｆ＝５０〔Ｈｚ〕が入力され、記憶部１２が図２に示す条件式１，２を記憶している場合、条件式１によるプロファイルＰＲ４が位置指令として生成される。
【０１３７】
プロファイルＰＲ４のパラメータとして、Ｔ１＝０．０２〔ｓ〕、Ｔ２＝０〔ｓ〕、ｎ＝１が算出されている。ここで、プロファイルＰＲ４において、加速期間と減速期間とを加えた移動時間（Ｔ１×２）は、０．０４〔ｓ〕であり、Ｔ＝０．０３を越えている。しかし、条件式１によれば、移動時間を多少犠牲にしつつも、制振条件を満たしつつ、モータの負荷率を低減した位置指令を生成することができる。
【０１３８】
つまり、パラメータ算出部１４によって、機械性能条件を満たし、かつ、目標移動時間を満たす条件式１のパラメータが算出できない場合であっても、上限速度・加減速度以下で最も目標移動時間に近くなるパラメータを算出する。
【０１３９】
＜モータの負荷低減、かつ、目標移動時間を優先する位置指令を生成する場合＞
上述したようにモータの負荷低減を優先する制御性能条件に対応する優先順位が最も高い条件式および機械性能条件を満たすパラメータを探索し、パラメータを決めることができなければ、次に優先順位が高い条件式および機械性能条件を満たすパラメータを探索する。
【０１４０】
（例５）機械性能条件として、目標移動時間Ｔ＝０．０５〔ｓ〕、移動距離Ｌ＝１００〔ｍ〕、制振周波数ｆ＝５０〔Ｈｚ〕が入力された場合、条件式１によるプロファイルＰＲ１が位置指令として生成される。
【０１４１】
（例６）機械性能条件として、目標移動時間Ｔ＝０．０３〔ｓ〕、移動距離Ｌ＝１００〔ｍ〕、制振周波数ｆ＝５０〔Ｈｚ〕が入力された場合、条件式２によるプロファイルＰＲ３が位置指令として生成される。
【０１４２】
このように、（例６）では、条件式１ではなく、条件式２によるプロファイルＰＲ２が生成される。これは、上述したように、条件式１の最短移動時間は０．０４〔ｓ〕であり、目標移動時間Ｔ＝０．０３〔ｓ〕を満たさないためである。
【０１４３】
このように、最適な条件式を選択することで、使用者が所望する制御性能条件を満たしつつ、かつ、より機械性能条件に近い位置指令を生成することができる。
【０１４４】
図８は、図７に示した位置指令の各プロファイルについて、加速度成分を周波数で解析をした結果を表す図である。図８において、横軸は周波数〔Ｈｚ〕を表し、縦軸は振幅〔ｍ〕を表している。
【０１４５】
図８のプロファイルＰＲ１１〜ＰＲ１４は、それぞれ、図７に示したプロファイルＰＲ１〜４に対応する。図８において、各プロファイルＰＲ１１〜１４とも、制振周波数である５０〔Ｈｚ〕のときの振幅が落ち込んでいるため、周波数が５０〔Ｈｚ〕である振動の振幅低減が期待できる。
【０１４６】
〔実施形態２〕
本発明の実施形態２について、図９及び図１０に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、実施形態１にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０１４７】
図９は、本発明の実施形態２に係る搬送装置１Ａの構成を表す図である。搬送装置１Ａは、搬送装置１が備えていたコントローラ２に換えてコントローラ（指令生成装置）２Ａを備えている点で、搬送装置１と相違する。コントローラ２Ａは、指令生成部１０に換えて指令生成部１０Ａを備えている点で、コントローラ２と相違する。搬送装置１Ａの他の構成は、搬送装置１と同様である。
【０１４８】
指令生成部１０Ａは、受付部１１と、記憶部１２と、パラメータ評価部１７と、パラメータ算出部１４と、位置指令生成部１５Ａとを備えている。
【０１４９】
記憶部１２には、複数の条件式、例えば、上記（式１）及び（式２）や、下記（式３）で示す条件式、（式５）で示す条件式が記憶されている。なお、（式３）中の「ｒ」はパラメータであり、（式４）で表される。
【０１５０】
【数１】
0006409743.tif 000005
【０１５１】
【数２】
0006409743.tif 000006
【０１５２】
【数３】
0006409743.tif 000007
【０１５３】
なお、本実施形態では、記憶部１２に記憶された各条件式には、図２を用いて説明したような、制御性能条件に対応する優先順位は付されていない。
【０１５４】
本実施形態では、指令生成部１０Ａは、記憶部１２に記憶されている全ての条件式に対しパラメータを探索することで解候補（位置指令の候補）を得る。そして、この全ての解候補の中から入力された制御性能条件の指標に応じて、機械性能条件を満たす、又は最も値が近くなるようにパラメータを選択して位置指令を生成する。
【０１５５】
（指令生成部１０Ａの処理の流れ概略）
図１０は、本発明の実施形態２に係る指令生成部１０Ａの処理の流れを表す図である。図１０に示すように、使用者からコントローラ２へ、機械性能条件及び制御性能条件が入力されると、指令生成部１０Ａの受付部１１が、機械性能条件及び制御性能条件を受け付ける（ステップＳ３１）。
【０１５６】
次に、ステップＳ３２〜Ｓ３５として、パラメータ算出部１４Ａは、記憶部１２に記憶された全ての条件式について、位置指令を一義的に決定するために必要なパラメータ（Ｔ１、Ｔ２、Ａ）を探索し、探索して得られた条件式の演算結果を解候補（位置指令の候補）として保持する。
【０１５７】
具体的には、まず、パラメータ算出部１４Ａは、ｉ（ｉは変数）がｎ（ｎは記憶部１２に記憶されている条件式の個数）以下であるか否かを判定する（ステップＳ３２）。
【０１５８】
ステップＳ３２において、ｉがｎ以下の場合（ステップＳ３２のＹＥＳ）、次に、パラメータ算出部１４は、記憶部１２に記憶された条件式のうち、パラメータの探索を行っていない条件式を選択する（ステップＳ３３）。そして、パラメータ算出部１４は、ステップＳ３３にて選択した条件式のパラメータを探索し得られた演算結果を解候補とする（ステップＳ３４）。パラメータ算出部１４は、変数ｉをインクリメントする（ステップＳ３５）。そして、ステップＳ３２の処理に戻る。
【０１５９】
ステップＳ３２において、ｉがｎより大きくなると（ステップＳ３２のＮＯ）、すなわち、パラメータ算出部１４による全ての条件式のパラメータの探索が終わると、次の処理は、制御性能条件として第１〜第３の制御性能条件の何れが入力されたかによって分かれる。
【０１６０】
制御性能条件として第１の制御性能条件（目標移動時間を優先）が入力されている場合、ステップＳ３２のＮＯの処理の後、パラメータ評価部１７は、パラメータ算出部１４Ａが保持している複数の解候補から、目標移動時間を満たすパラメータを選択する。目標移動時間を満たすパラメータが無い場合は、最も目標移動時間に近いパラメータを選択する（ステップＳ３７）。
【０１６１】
なお、目標移動時間を満たすパラメータが複数存在する場合、パラメータ評価部１７は、その中の任意の一つのパラメータを選択する。
【０１６２】
パラメータ算出部１４Ａによってパラメータの選択がされると、当該パラメータに基づいて、位置指令生成部１５は、位置指令のパターンを生成する（ステップＳ３８）。そして、位置指令生成部１５は生成した位置指令をドライバへ出力する。
【０１６３】
また、制御性能条件として第２の制御性能条件（モータの負荷低減を優先）が入力されている場合、ステップＳ３２のＮＯの処理の後、パラメータ評価部１７は、パラメータ算出部１４が保持している複数の解候補の中から最もモータ負荷率が低いパラメータを選択する（ステップＳ４０）。具体的には、パラメータ評価部１７は、パラメータ算出部１４が保持している複数の解候補のそれぞれについて、上述した実効加速度を演算する。実効加速度は、上述したようにモータ負荷率を示す値である。そして、パラメータ評価部１７は、最も実効加速度が低くなるパラメータを選択する。そして、ステップＳ３８の処理へ進む。
【０１６４】
また、制御性能条件として第３の制御性能条件（モータの負荷低減、かつ、目標移動時間を優先）が入力されている場合、ステップＳ３２のＮＯの処理の後、パラメータ評価部１７は、パラメータ算出部１４が保持している複数の解候補から、最も目標移動時間に近いパラメータを選択する（ステップＳ４１）。パラメータ評価部１７は、解候補が一つに絞り込めない場合は、複数の解候補のそれぞれについて、上述した実効加速度を演算する。そして、パラメータ評価部１７は、複数の解候補の中で、最も実効加速度が低くなるパラメータを選択する（ステップＳ４２）。そして、ステップＳ３８の処理へ進む。
【０１６５】
このように、指令生成部１０Ａによると、記憶部１２には、機械性能条件に基づいて搬送装置５の振動を抑制する位置指令のパラメータを算出する複数の条件式が記憶されている。
【０１６６】
そして、パラメータ評価部１７は、指定された制御性能条件に基づいて、パラメータ算出部１４Ａが算出したパラメータの評価を行う。そして、位置指令生成部１５は、パラメータ評価部１７の評価により、最も高く評価されたパラメータに基づいて、位置指令を生成する。
【０１６７】
これにより、指定された制御性能条件（第１〜第３の制御性能条件）に応じて、機械性能条件を満足させるか、または、近い値となるような位置指令を生成することができる。
【０１６８】
このため、制振条件を満たす位置指令が複数存在する場合でも、使用者が所望する制御性能条件に合った位置指令を生成することができる。
【０１６９】
〔ソフトウェアによる実現例〕
コントローラ２の制御ブロック（特に指令生成部１０）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１７０】
後者の場合、コントローラ２は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１７１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１７２】
例えば、本実施形態では、コントローラ２、２Ａが指令生成装置として構成されている例を説明したが、指令生成部１０、１０Ａがドライバ３に組み込まれており、ドライバ３が指令生成装置として機能するように構成してもよい。さらに、指令生成部１０、１０Ａのうち、位置指令生成部１５が第１の筐体（例えば、ドライバ３）に格納され、その他の機能部（１１、１２、１３、１４）が第２の筐体（例えば、コントローラ２）に格納され、これら第１の筐体及び第２の筐体により、指令生成装置が実現されていてもよい。［符号の説明］
１、１Ａ  搬送装置
２、２Ａ  コントローラ（指令生成装置）
３  ドライバ
４  モータ（動力発生部）
５  搬送装置（移動装置）
６  搬送物
１０、１０Ａ  指令生成部
１１  受付部
１２  記憶部
１３  条件式選択部
１４、１４Ａ  パラメータ算出部
１５、１５Ａ  位置指令生成部
１７  パラメータ評価部
【図１】
0006409743.tif 000008
【図２】
0006409743.tif 000009
【図３】
0006409743.tif 000010
【図４】
0006409743.tif 000011
【図５】
0006409743.tif 000012
【図６】
0006409743.tif 000013
【図７】
0006409743.tif 000014
【図８】
0006409743.tif 000015
【図９】
0006409743.tif 000016
【図１０】
0006409743.tif 000017
【図１１】
0006409743.tif 000018
【図１２】
0006409743.tif 000019