(57)【特許請求の範囲】
【請求項１】
制御対象を運動させる運動指令値を生成する運動指令生成装置において、
前記制御対象の動作条件が入力される入力部と、
時間に依存した関数である複数の基本関数と前記複数の基本関数毎に未知の重み係数を乗じて足し合わせた重み付き線形和によって前記運動指令値を表した線形和情報を作成し、前記動作条件に応じて前記重み係数を含む最適化変数に対する線形の等式及び不等式によって制約条件及び評価指標を表した線形計画問題を作成して線形計画問題情報として記憶する線形計画問題設定部と、
前記線形計画問題情報が表す前記線形計画問題を解くことによって、前記重み係数を求める重み係数算出部と、
前記線形和情報に基づき前記基本関数も前記重み係数算出部で求めた重み係数を乗じて足し合わせた重み付き線形和によって前記運動指令値を算出する指令値算出部とを備えた運動指令生成装置。
【請求項２】
基本関数は、三角波であることを特徴とする請求項１に記載の運動指令生成装置。
【請求項３】
最適化変数は、制御対象の位置の３階以下の時間の微係数の上下限値を含み、
評価指標は、前記上下限値の線形関数であることを特徴とする請求項１または２に記載の運動指令生成装置。
【請求項４】
重み係数に関する制約条件は、制御対象の振動モードの振幅、または前記振動モードの振幅の３階以下の微係数の取り得る範囲を表す線形不等式を含むことを特徴とする請求項１ないし３のいずれか１項に記載の運動指令生成装置。
【請求項５】
最適化変数は、制御対象の振動モードの振幅、または前記振動モードの振幅の３階以下の微係数の上下限値を含み、
評価指標は、前記上下限値の線形関数であることを特徴とする請求項１ないし４のいずれか１項に記載の運動指令生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、運動する機械を駆動する駆動制御装置に対して、機械を運動させる運動指令値を生成して、生成した運動指令値を与える運動指令生成装置に関するものである。
【背景技術】
【０００２】
従来の運動指令生成装置では、機械駆動時の運動パターンを複数の時間パラメータｔ１〜ｔ４で表される複数の区間に分割して表現し、それぞれの区間幅ｔ１〜ｔ４を最大加々速度、最大加速度、指令速度、移動距離等を用いて計算し、運動パターンを求め、指令値としていた（例えば特許文献１）。
【０００３】
また、モータの位置と負荷の位置をそれぞれ高次の時間多項式で表し、境界条件と運動方程式から時間多項式の係数を計算し、指令値を求めていた（例えば、特許文献２）。
【０００４】
【特許文献１】特開平８−６６２８号公報（１頁、図４）
【特許文献２】特開２００２−９１５７０号公報（図３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の運動指令生成装置では、モータ等のアクチュエータにおける最大加々速度、最大加速度、移動距離等は設定できるものの、区間単位で計算するため、初期および終端で０でない速度を持たせる制約条件には適用できないという問題があった。
【０００６】
また、従来の運動指令生成装置では、指令値を時間多項式として表すために、モータの加速度等、様々な制約条件を考慮できず、制約条件を満たさない指令値が生成される可能性があるという問題点があった。
【０００７】
この発明は、上述のような問題を解決するためになされたもので、初期および終端における位置、速度の境界条件、および、加速度、速度の取り得る範囲の制約条件を含む複雑な動作条件を満足する指令値をリアルタイムで計算できる指令値生成装置を得るものである。
【課題を解決するための手段】
【０００８】
この発明に係る運動指令生成装置は、運動指令値を基本関数の重み付き線形和として表し、基本関数の重み係数を線形計画問題により求め、運動指令値を算出する。
【発明の効果】
【０００９】
この発明は、運動指令値を基本関数の重み付き線形和として表し、基本関数の重み係数を線形計画問題により求めて、運動指令値を算出することによって、線形計画問題を解くので計算上の困難を生じることなく、複雑な動作条件を満足する指令値をリアルタイムで計算できる。
【発明を実施するための最良の形態】
【００１０】
実施の形態１．
図１は、この発明の実施の形態１による運動指令生成装置を適用した駆動制御システムの構成を示すブロック図である。図において、本実施の形態による運動指令生成装置１は、入力部（図示せず）において各種動作条件が入力として与えられると、制御のための目標値となる運動指令値を生成し、駆動制御装置２へ運動指令値を出力する。駆動制御装置２は、制御対象３の運動が、入力部で与えられた運動指令値に一致、または追従するように、制御を行う。ここで、動作条件とは、制御対象３の動作を規定する条件であり、位置、角度などの状態値と、その時間微分値に対する線形の条件式によって表現され、例えば、位置、速度、加速度等の技術的性質を用いて条件付けられるものを言う。
【００１１】
駆動制御装置２としては、例えば、生成した指令値のみから駆動力等を定めるフィードフォワード制御や、指令値と制御対象３の状態とを比較する制御ループを組んだフィードバック制御、あるいはこれらを組み合わせた２自由度制御系を用いることもできる。
【００１２】
制御対象３としては、工作機械やロボット、回転するアンテナ等、様々なものが考えられるが、指令値に応じて位置、速度等を変化させるような制御を必要とするものであれば、何に適用してもよい。
【００１３】
ここで、本実施の形態および後述の他の実施の形態においては、動作条件として、制御対象３の運動を、位置、速度、加速度等と、並進運動の技術的性質を用いて表現する。なお、制御対象３の運動は、これらのパラメータに限られるものではなく、例えば、回転するアンテナのように、制御対象３の運動が回転運動であるような場合には、位置にあたる角度を基本に、角度、角速度、角加速度等と、回転運動の技術的性質に読みかえることができる。
【００１４】
入力部から入力される動作条件は、位置、速度、加速度等の技術的性質の初期値、終端値、各時刻における上限値、下限値によって表現される。具体的な入力情報は、テキスト情報を電子化した伝送によるものでも良いし、各技術的性質について伝送線を設けて、各伝送線の電圧値で表現するものでも良い。
【００１５】
図１に示すように、本実施の形態による運動指令生成装置１は、線形計画問題設定部１１と、重み係数算出部１２と、指令値算出部１３とを備える。詳細には、制御対象３の動作条件が入力される入力部と、入力された動作条件に応じて運動指令値を基本関数の重み付き線形和として表し、未知の重み係数を含む最適化変数に対する線形の等式及び不等式によって制約条件及び評価指標を表した線形計画問題を作成して、線形計画問題情報として記憶する線形計画問題設定部１１と、線形計画問題情報が表す線形計画問題を解くことによって、重み係数を求める重み係数算出部１２と、基本関数に重み係数算出部１２で求めた重み係数を乗じて足し合わせた重み付き線形和によって運動指令値を算出する指令値算出部１３とを備える。ここで、最適化変数とは、最適化問題である線形計画問題における変数である。
【００１６】
線形計画問題設定部１１は、運動指令値を基本関数に未知の重み係数を乗じて足し合わせた重み付き線形和で表した線形和情報を作成し、線形和情報を記憶装置に記憶する。また、線形計画問題設定部１１は、未知の重み変数を含む最適化変数に対する線形の等式及び不等式で表される制約条件式及び評価指標を、入力された動作条件に応じて設定し、線形計画問題情報として記憶する。重み係数算出部１２は、線形計画問題情報が表す線形計画問題を解くことによって、重み係数を求める。指令値算出部１３は、線形和情報を用いて求めた重み係数と基本関数に乗じて足し合わせた重み付き線形和によって運動指令値を求める。
【００１７】
以下、具体的な処理について説明する。
【００１８】
運動指令生成装置１には、動作条件として、駆動時間ｔｆ、位置の初期条件θ０、速度の初期条件ｖ０、加速度の初期条件ａ０、位置の終端条件θｆ、速度の終端条件ｖｆ、加速度の終端条件ａｆ、位置の下限θｍｉｎ（ｔ）、位置の上限θｍａｘ（ｔ）、速度の下限ｖｍｉｎ（ｔ）、速度の上限ｖｍａｘ（ｔ）、加速度の下限ａｍｉｎ（ｔ）、加速度の上限ａｍａｘ（ｔ）、加々速度の下限ｊｍｉｎ（ｔ）、加々速度の上限ｊｍａｘ（ｔ）が与えられる。
【００１９】
すなわち、駆動時間として、ｔｆが与えられる。また、初期条件、終端条件、位置制約条件、速度制約条件、加速度制約条件、および加々速度制約条件として、数式を用いて表現すると、それぞれ、
【００２０】
【数１】
0005012657.tif 000002
【００２１】
【数２】
0005012657.tif 000003
【００２２】
【数３】
0005012657.tif 000004
【００２３】
【数４】
0005012657.tif 000005
【００２４】
【数５】
0005012657.tif 000006
【００２５】
【数６】
0005012657.tif 000007
が与えられる。
【００２６】
ここで、式（１）では、時刻ｔ（０≦ｔ≦ｔｆ）における位置をθ（ｔ）、位置のｎ階時間微分をθ（ｎ）（ｔ）で表す（ｎは、自然数である。）。したがって、式（１）のθ（１）（ｔ）は、時刻ｔにおける速度であり、θ（２）（ｔ）は、時刻ｔにおける加速度であり、時刻ｔ＝０のときの位置がθ０、速度がｖ０であり、加速度がａ０であることを表している。
【００２７】
同様に、式（２）は、終端位置がθｆであり、終端速度がｖｆ、終端加速度がａｆであることが終端条件であること表している。また、式（３）では、時刻ｔ（０≦ｔ≦ｔｆ）における位置の下限が、θｍｉｎ（ｔ）であり、位置の上限が、θｍａｘ（ｔ）であることが与えられている。
【００２８】
また、式（４），（５），および（６）では、時刻ｔ（０≦ｔ≦ｔｆ）における速度の下限ｖｍｉｎ（ｔ）、速度の上限ｖｍａｘ（ｔ）、加速度の下限ａｍｉｎ（ｔ）、加速度の上限ａｍａｘ（ｔ）、加々速度の下限ｊｍｉｎ（ｔ）、加々速度の上限ｊｍａｘ（ｔ）によって、それぞれ速度θ（１）（ｔ）、加速度θ（2）（ｔ）、加々速度θ（3）（ｔ）の各時刻における下限および上限が条件づけられている。
【００２９】
初期条件および終端条件（以下、初期条件と終端条件とを合わせて「境界条件」と呼ぶ。）θ０、ｖ０、ａ０、θｆ、ｖｆ、ａｆは、全ての値が与えられる場合もあるが、一部が与えられず、制約条件がない場合も考えられる。その場合には、以下の定式化において、対応する条件式（式（１），（２）などに対応した後述の式（２０）の一部）を省くことができる。式（３）から式（６）の制約条件についても同様である。また、式（３）から式（６）の制約条件では、位置から加々速度の上下限を、時間ｔに依存する関数として与えているが、これらは当然、時刻ｔに依存しない、定数である場合も含んでいる。例えば、制御対象３をモータにより駆動する場合には、モータトルクおよび回転数の上限から、式（４）および式（５）における速度、加速度の上下限が、一定値として与えられる。
【００３０】
本実施の形態による運動指令生成装置１は、これら全ての動作条件を満たす制御対象３の目標運動（すなわち、運動指令値）における加速度の時間履歴を、基本関数αｋ（ｔ）の重み付き線形和によって表現する。すなわち、
【００３１】
【数７】
0005012657.tif 000008
とする。ここで、Ｋは、適当な自然数である。Ｋは、対象をいくつの基本関数で表現するかを定める数である。例えば、Ｋ＝２０と与える。ｗｋは未知の重み係数である。本実施の形態による運動指令生成装置１においては、基本関数αｋ（ｔ）を、以下のような、ｔ＝ｔｃｋ（０≦ｔｃｋ≦ｔｆ）に中心を持つ、幅が２Δｔの三角波として与える。
【００３２】
【数８】
0005012657.tif 000009
【００３３】
ｔｃｋおよびΔｔの設定としては、例えば、ｔｃｋをｔ＝０からｔｆをＫ等分した点とし、その時間間隔をΔｔに設定する。すなわち、以下の式のように設定する。
【００３４】
【数９】
0005012657.tif 000010
【００３５】
αｋ（ｔ）を時間ｔに関して１回微分したものをξｋ（ｔ）、時刻−∞から時刻ｔまで積分したものをβｋ（ｔ）、βｋ（ｔ）をさらに時刻−∞から時刻ｔまで積分したものをγｋ（ｔ）と表す。すなわち、ξｋ（ｔ）、βｋ（ｔ）、γｋ（ｔ）を以下の式により定義する。
【００３６】
【数１０】
0005012657.tif 000011
【００３７】
【数１１】
0005012657.tif 000012
【００３８】
【数１２】
0005012657.tif 000013
【００３９】
これらを用いると、加々速度、速度、位置の時間履歴が、式（７）と同様に重み付き線形和の形で以下のように表される。
【００４０】
【数１３】
0005012657.tif 000014
【００４１】
【数１４】
0005012657.tif 000015
【００４２】
【数１５】
0005012657.tif 000016
【００４３】
以下での記述の簡単化のため、式（７）および式（１３）〜（１５）を以下のようにベクトル表現で表す。
【００４４】
【数１６】
0005012657.tif 000017
【００４５】
【数１７】
0005012657.tif 000018
【００４６】
【数１８】
0005012657.tif 000019
【００４７】
【数１９】
0005012657.tif 000020
【００４８】
ここで、Ｖを付加した、Ｖα（ｔ）、Ｖξ（ｔ）、Ｖβ（ｔ）、Ｖγ（ｔ）、およびＶｗは、それぞれ、αｋ（ｔ）、ξｋ（ｔ）、βｋ（ｔ）−βｋ（０）、γｋ（ｔ）−γｋ（０）−βｋ（０）ｔ、ｗｋをｋ番目の要素とするＫ次元縦ベクトルを表す。また、上付きのＴはベクトルの転置を表す。
【００４９】
本実施の形態による運動指令生成装置１では、上述のように運動パターンについて、三角波を基本関数とする重み付き線形和によって表現することで、最適な重み係数を線形計画問題によって求め、動作条件を満たす運動指令値を生成する。
【００５０】
次に、本実施の形態による運動指令生成装置１を構成する各部の働きについて説明する。
線形計画問題設定部１１においては、前述の動作条件をもとに、未知変数である重み係数ｗｋに対する線形の制約条件および評価指標を設定する。
まず、境界条件式（１）、（２）に式（１６）、（１８）、（１９）を適用し、以下の４個の線形等式制約条件を得る。
【００５１】
【数２０】
0005012657.tif 000021
【００５２】
ここで、初期条件式（１）のうち、速度の初期条件と位置の初期条件は上述のＶβ（ｔ）、Ｖγ（ｔ）の定義により自動的に満たされるため、省略した。
【００５３】
次に、線形計画問題設定部１１では、制約条件式（３）〜（６）に対応した重み係数ｗｋに対する制約条件式を、それぞれ以下のように設定する。
【００５４】
【数２１】
0005012657.tif 000022
【００５５】
【数２２】
0005012657.tif 000023
【００５６】
【数２３】
0005012657.tif 000024
【００５７】
【数２４】
0005012657.tif 000025
【００５８】
ここで、ｔＰｉ（ｉ＝１，・・・，ＮＰ）、ｔＶｉ（ｉ＝１，・・・，ＮＶ）、ｔＡｉ（ｉ＝１，・・・，ＮＡ）、ｔＪｉ（ｉ＝１，・・・，ＮＪ）は、それぞれの制約条件を設定する離散的な時刻である。例えば、基本関数の三角波の中心時刻ｔｃｋと同一の時刻列としてもよいし、ｔｃｋの間をさらに細かく等分した時刻列としてもよい。また、式（２１）〜（２４）でそれぞれ異なる時刻列を用いているが、これらは同一としてもよい。制約条件をこのように離散的な時刻のみで設定することで、それら離散時刻の中間では、厳密には各制約条件を満たさない運動指令値となる可能性がある。しかし、これら時刻列を適当に細かく設定することで、十分な精度で制約条件を満たす運動指令値が求められる。
【００５９】
次に、線形計画問題設定部１１における評価指標に関わる設定について説明する。運動指令値生成における評価指標としては様々なものが考えられるが、駆動モータ等のトルクを考慮すると、運動パターンにおける加速度がより小さいことが望ましい場合が考えられる。そこで、以下では加速度最大値を最小化するような設定を行う。
【００６０】
まず、新たなスカラー変数ａｍを導入し、線形計画問題設定部１１において、重み係数ｗｋに対する追加の制約条件式を、以下のように設定する。
【００６１】
【数２５】
0005012657.tif 000026
【００６２】
また、以下のような評価指標を設定する。
【００６３】
【数２６】
0005012657.tif 000027
【００６４】
ここで、式（２６）は、ａｍを最小化するという意味である。制約条件式（２５）により、新たに導入した変数ａｍは加速度の絶対値の最大値という意味を持ち、評価指標式（２６）により、それを最小化することで、加速度がより小さくなるような運動指令値を生成できる。なお、式（２５）を設定したことで、式（２３）は不要となるため、この制約条件は、以下の処理で省いても良い。
【００６５】
以上、線形計画問題設定部１１により、未知変数であるＫ個の重み係数ｗｋと、追加した１個の未知変数ａｍの合計Ｋ＋１個の未知変数に対して、等式制約条件式（２０）、不等式制約条件式（２１）〜（２５）、そして、評価指標式（２６）が設定された。これら制約条件および評価指標は全て未知変数に対して線形となっており、全体として線形計画問題を成す。
【００６６】
線形計画問題に関しては、汎用的なアルゴリズムが多数知られており、最適解を効率的に求めることができる。そこで、次に、重み係数算出部１２では、そのようなアルゴリズムを利用し、線形計画問題を解くことで、Ｋ個の重み係数ｗｋを求める。最後に、指令値算出部１３において、得られた重み係数ｗｋを式（１６）〜（１９）（または、これらの式うちのいくつかのみ）に代入することで、運動指令値を求め、駆動制御装置２へ出力する。
【００６７】
なお、上記では、加速度最大値を最小化するという設定を行ったが、加速度の代わりに速度や加々速度の最大値を最小化するという設定も、全く同様の手順で行える。また、式（２５）の制約を、時刻ｔＡｉごとに独立なＮＡ個の変数ａｍｉ（ｉ＝１，・・・，ＮＡ）によって与え、式（２６）の評価指標をこれら変数ａｍｉの平均値に設定することで、平均的な加速度を最小化するような設定も可能である。さらには、これら複数の異なる評価指標を適当な重みをかけて足し合わせたものを評価指標に設定することで、例えば、加速度最大値を最小化しつつ、平均的な加々速度を小さくすることも可能となる。
【００６８】
図２は、本実施の形態における、運動指令生成装置１による運動指令値の計算例である。図において、実線で示したのが、位置、速度、加速度の時間履歴であり、速度と加速度のグラフにおいて破線で示したのがそれぞれの上下限制約である。ここで、上下限の制約は時間によらない一定値としている。また、加速度のグラフにおいては、得られた各重み係数をかけた三角波αｋ（ｔ）ｗｋが点線で示されている。本計算例では、評価指標として式（２６）を用いているが、図より、与えられた制約を満たしつつ、加速度を抑えるような運動指令値が生成できていることがわかる。また、別の動作条件による計算例を図３に示す。これは、速度の境界条件が０でない場合の例であるが、このような場合にも適切に運動指令値を生成できていることがわかる。
【００６９】
このように、本実施の形態によれば、運動指令値を三角波の重み付き線形和として表し、動作条件をもとに、それら重み係数に対する線形計画問題を設定し、線形計画問題を解いて運動指令値を求めることによって、様々な動作条件に応じた運動指令値を容易に生成できる効果がある。
【００７０】
また、本実施の形態によれば、線形計画問題として定式化したので、効率的に運動指令値を求めることができ、計算回数が発散することもないため、実装上の困難も生じない効果がある。
【００７１】
また、従来の運動指令生成装置では、指令値を時間多項式として表すために、計算された指令値がどのような形状になるかは計算前に予測できず、想定外の値をとってしまう可能性があるという問題点があったが、本発明によれば、動作条件として指令値等の上下限を設定できるため、指令値等が想定外の値をとることがないという効果がある。
【００７２】
実施の形態２．
本発明が適用の対象とするような駆動制御システムにおいては、制御対象３に含まれる低剛性要素に起因して、駆動により、望ましくない振動が励起し、駆動後にも振動が残ってしまう場合がある。本実施の形態においては、そのような振動を励起させないような運動指令値を生成するための運動指令生成装置１について説明する。
本実施の形態による運動指令生成装置１の構成は、前記実施の形態１と同一であり、線形計画問題設定部１１の働きの一部のみが異なる。
柔軟要素を含む場合の最も単純な運動モデルは、その柔軟要素の位置をφとおくと、以下のように与えられる。
【００７３】
【数２７】
0005012657.tif 000028
【００７４】
上式は、柔軟要素のある一つの振動モードの運動モデルととらえることができ、ωはその振動モードの振動数である。より一般には、式（２７）を速度に比例した減衰項を持つモデルとすることもできるが、ここでは説明の簡単化のために省略する。ｑ（ｔ）＝φ（ｔ）−θ（ｔ）と書き直すと、以下のようになる。
【００７５】
【数２８】
0005012657.tif 000029
【００７６】
上式に（式１６）を代入し、振動モードの振幅ｑ（ｔ）と振幅速度ｑ(1)（ｔ）を求めると、以下のようになる。
【００７７】
【数２９】
0005012657.tif 000030
【００７８】
【数３０】
0005012657.tif 000031
【００７９】
ここで、Ｖを付加したＶＳ（ｔ）、ＶＣ（ｔ）は、そのｋ番目の要素をＳｋ（ｔ）−Ｓｋ（０）、Ｃｋ（ｔ）−Ｃｋ（０）とするＫ次元縦ベクトルであり、Ｓｋ（ｔ）、Ｃｋ（ｔ）はそれぞれ以下のように与えられる。
【００８０】
【数３１】
0005012657.tif 000032
【００８１】
【数３２】
0005012657.tif 000033
【００８２】
本実施の形態による運動指令生成装置１では、駆動終了後の振動を抑制するために、線形計画問題設定部１１において、重み係数ｗｋに対する以下のような制約条件を設定する。
【００８３】
【数３３】
0005012657.tif 000034
【００８４】
【数３４】
0005012657.tif 000035
【００８５】
ここで、εｑ、εｖは駆動終了時の振動の振幅ｑ（ｔｆ）および振幅速度ｑ（１）（ｔｆ）を小さく抑えるための微小量であり、例えば、εｑ＝εｖ＝１／１００００等と設定する。また、εｑ＝εｖ＝０とすれば完全に０に抑えることになる。式（３３）および（３４）は重み係数ｗｋに対して線形であり、等式制約条件式（２０）、不等式制約条件式（２１）〜（２５）、そして、評価指標式（２６）と合わせて、線形計画問題を成す。よって、実施の形態１と同様にして、重み係数算出部１２において重み係数を求め、指令値算出部１３において運動指令値を求めることができる。
【００８６】
図４は、前記図２の計算例に対して、式（２８）の微分方程式を積分計算して、振動モード座標ｑの時間履歴を求めたものである。図では、駆動終了時刻（ｔ＝ｔｆ＝１０）からしばらく後までの履歴を示している。ここで、振動数ω＝６としている。これに対し、前記図２と同様の動作条件の場合に、本実施の形態による運動指令生成装置１を用いて運動指令値を生成した結果を図５に示す。また、その場合の振動モード座標ｑの時間履歴を図６に示す。設定された動作条件を満たしつつ、駆動後の振動を抑制するような運動指令値が生成できていることがわかる。
【００８７】
従来の運動指令生成装置は、加々々速度に制限を持つ指令値を生成することで、非剛性要素により発生する振動等を抑制することができるという効果が記述されているが、この効果は始動時および停止時の動作を滑らかにすることによる間接的なものであり、直接的な制約ではないために、駆動後の振動を抑制できる保証がなく、さらには動作を滑らかにするために駆動時間を長くする必要があるという問題点があった。
【００８８】
以上のように、本実施の形態によれば、制御対象３に含まれる振動モードの振動数が既知の場合に、その振幅および振幅速度が駆動後に小さい値となるような制約を追加することで、駆動後の振動を抑制するような運動指令値を生成できる効果がある。
【００８９】
実施の形態３．
実施の形態２では、対象とする振動モードの振動数ωが既知（ほぼ完全にわかっている）であることを前提として、駆動終了後の振動を抑えるような指令値を生成した。しかし、実際にはωとしては、ある程度の不確定性を含んだ推定値を用いるしかない場合も多い。図７に、前記図５の運動指令値に対して、振動数ωに誤差がない場合、および、１０％、２０％の誤差がある場合の振動モード座標ｑの時間履歴を重ねて示す。図において、０％として示した実線が、誤差のない場合であり、これは図６の時間履歴と同じものである。この図が示すように、振動数ωに誤差がある場合には、駆動終了時の振幅に制約を課すのみでは、振動が大きくなってしまう場合がある。
【００９０】
そこで、本実施の形態による運動指令生成装置１では、線形計画問題設定部１１において、新たな未知変数ｑｍを用い、以下のような制約条件を設定する。
【００９１】
【数３５】
0005012657.tif 000036
【００９２】
ここで、ｔQｉは、制約条件を設定する離散的な時刻であり、実施の形態１で説明したｔＰｉなどと同様に、適当に細かい時刻列を設定する。そして、次のような評価指標を設定する。
【００９３】
【数３６】
0005012657.tif 000037
【００９４】
あるいは、式（３５）と（３６）の代わりに、新たな未知変数ｑｖｍを用い、制約条件
【００９５】
【数３７】
0005012657.tif 000038
【００９６】
および、評価指標
【００９７】
【数３８】
0005012657.tif 000039
【００９８】
を設定する。また、式（３５）と式（３７）の両方の制約条件を設定し、評価指標をｑｍとｑｖｍに適当な係数をかけて足し合わせたものとしてもよい。
【００９９】
いずれの場合も、これら制約条件と、等式制約条件式（２０）、不等式制約条件式（２１）〜（２４）、そして、評価指標式（３６）あるいは式（３８）とを合わせて、線形計画問題を成す。よって、実施の形態１と同様にして、重み係数算出部１２において重み係数を求め、指令値算出部１３において運動指令値を求めることができる。
【０１００】
また、上記の場合は振動抑制のための式（３６）あるいは式（３８）のみを評価指標としたが、さらに式（２５）の制約条件を追加して、評価指標を式（２６）と式（３６）等の組み合わせとして、加速度最大値を抑え、かつ振動も抑制する、といったことも可能である。また、本実施の形態により構成される線形計画問題に、実施の形態２における制約条件式（３３）および式（３４）を加えても、振動抑制に効果的である。
【０１０１】
図８は、前記図２の計算例と同様の動作条件の場合に、本実施の形態による本発明の運動指令生成装置１を用いて運動指令値を生成した結果である。また、その場合の振動モード座標ｑの時間履歴を図９に示す。ここで、振動抑制のための制約条件としては式（３５）を用い、評価指標としては、式（３６）と式（２６）の組み合わせ、すなわち、ａｍとｑｍの重み付きの和を用いた。ただし、その重みはｑｍの方を大きくしている。さらに、制約条件式（３３）および式（３４）も設定した。図８、図９より、動作条件を満たすが、振動数ωに誤差がある場合にも、振動の励起を抑えられるような運動指令値が、適切に生成できていることがわかる。
【０１０２】
以上のように、本実施の形態によれば、制御対象３に含まれる振動モードの振幅および振幅速度が駆動中に小さい値となるような制約および評価指標を設定することで、その振動数に不確定性があるような場合であっても、振動を抑制するような運動指令値を生成できる効果がある。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施の形態１の構成を示すブロック図である。
【図２】本発明の実施の形態１による運動指令値の計算例を示すグラフの図である。
【図３】本発明の実施の形態１による運動指令値の計算例を示すグラフの図である。
【図４】本発明の実施の形態１の運動指令値による振動モード座標の時間履歴を示すグラフの図である。
【図５】本発明の実施の形態２による運動指令値の計算例を示すグラフの図である。
【図６】本発明の実施の形態２の運動指令値による振動モード座標の時間履歴を示すグラフの図である。
【図７】本発明の実施の形態３の運動指令値による振動モード座標の時間履歴を示すグラフの図である。
【図８】本発明の実施の形態３による運動指令値の計算例を示すグラフの図である。
【図９】本発明の実施の形態３の運動指令値による振動モード座標の時間履歴を示すグラフの図である。
【符号の説明】
【０１０４】
１  運動指令生成装置、２  駆動制御装置、３  制御対象、１１  線形計画問題設定部、１２  重み係数算出部、１３  指令値算出部。
【図１】
0005012657.tif 000040
【図２】
0005012657.tif 000041
【図３】
0005012657.tif 000042
【図４】
0005012657.tif 000043
【図５】
0005012657.tif 000044
【図６】
0005012657.tif 000045
【図７】
0005012657.tif 000046
【図８】
0005012657.tif 000047
【図９】
0005012657.tif 000048