(57)【要約】【課題】  本願発明は、予め参照信号を用意することなく、入力信号を所望の制約を満たすように整形することが可能な信号生成装置等を提案する。【解決手段】  逆関数演算部１７は、入力信号ｕに対して逆関数を用いて演算し、第２結合部は、逆関数演算部１７の出力を、出力信号ｕ*と入力信号ｕの差分を用いて維持又は減少させ、飽和関数演算部２１が、第２結合部１９の出力が飽和関数を満たすのであればそのまま出力し、満たさないのであれば飽和関数を出力し、関数演算部２３が、飽和関数演算部２１の出力を関数を用いて演算する。【選択図】図１
2018022273.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を入力して出力信号を出力する信号生成装置であって、
第１結合部と、ＦＢ演算部と、逆関数演算部と、第２結合部と、飽和関数演算部と、関数演算部を備え、
前記関数演算部は、関数を使って演算するものであり、
前記逆関数演算部は、前記関数の逆関数又は疑似逆関数を演算するものであり、
前記第１結合部は、前記出力信号と前記入力信号の差分を計算し、
前記ＦＢ演算部は、前記第１結合部の出力を前記第２結合部に出力し、
前記逆関数演算部は、前記入力信号に対して前記逆関数又は前記疑似逆関数を用いて演算し、
前記第２結合部は、前記逆関数演算部の出力と前記ＦＢ演算部の出力の差分を計算し、
前記飽和関数演算部は、前記第２結合部の出力が飽和関数を満たすのであればそのまま出力し、満たさないのであれば飽和関数を出力し、
前記関数演算部は、前記飽和関数演算部の出力を前記関数を用いて演算する、信号生成装置。
【請求項２】
前記関数演算部は、ｎ個（ｎは２以上の自然数）の関数Ｆi（ｉはｎ以下の自然数）を演算するものであり、
前記飽和関数演算部は、ｎ個の飽和関数を使って演算するものであり、
前記逆関数演算部は、逆関数Ｆi-1又は疑似逆関数^Ｆi-1を演算するものであり、
前記逆関数演算部は、前記入力信号に対して前記逆関数Ｆi-1又は前記疑似逆関数^Ｆi-1をｉ＝１，…，ｎの順に用いて演算し、
前記飽和関数演算部及び前記関数演算部は、１つの飽和関数を使った演算と前記関数Ｆiの演算をｉ＝ｎ，…，１の順に行う、請求項１記載の信号生成装置。
【請求項３】
前記逆関数演算部は、疑似逆関数を演算するものであり、
前記第１結合部は、差分を計算する対象となる前記入力信号及び／又は前記出力信号は、前記関数及び前記逆関数を用いた演算が行われたものである、請求項１又は２に記載の信号生成装置。
【請求項４】
前記関数は、積分及び／又は多重積分を含む、請求項１から３のいずれかに記載の信号生成装置。
【請求項５】
入力信号を入力して出力信号を出力する信号生成装置における信号生成方法であって、
前記信号生成装置は、逆関数演算部と、第２結合部と、飽和関数演算部と、関数演算部を備え、
前記関数演算部は、関数を使って演算するものであり、
前記逆関数演算部は、前記関数の逆関数又は疑似逆関数を演算するものであり、
前記逆関数演算部は、前記入力信号に対して前記逆関数又は前記疑似逆関数を用いて演算するステップと、
前記第２結合部が、前記逆関数演算部の出力を、前記出力信号と前記入力信号の差分を用いて維持又は減少させるステップと、
前記飽和関数演算部が、前記第２結合部の出力が飽和関数を満たすのであればそのまま出力し、満たさないのであれば飽和関数を出力するステップと、
前記関数演算部が、前記飽和関数演算部の出力を前記関数を用いて演算するステップを含む信号生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、信号生成装置及び信号生成方法に関し、特に、入力信号ｕに対して制約条件を満たす信号ｕ*を出力する信号生成装置等に関する。
【背景技術】
【０００２】
特許文献１には、スイッチング部がオン状態のときに巻線に給電されるステッピングモータに対して、巻線に給電される電流を測定して、参照信号が示す電流制限値を超えた時点でスイッチング部をオフ状態にして巻線への給電をしないように制御することが記載されている。
【０００３】
搬送用ロボットなどでは、加速度や速度の制約がある場合が多い。参照信号を用いて制御する場合、制約を満たすような参照信号を予め用意する必要があった。例えば、速度の最大値が決められている場合、位置目標値を台形波形にすることによって制約を満たすことになる。また、加速度の最大値が決められている場合には、速度が台形波形となるよう位置目標値を与える必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０６０８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
参照信号を用いる場合、制約を満たすようなものを予め用意する必要がある。例えば、IoTやウェアラブル端末が広まった社会では、個々の人間による機器操作を必要とする場面が増えてくる。人間の操作信号を使って機器を動かす場合に、安全の観点から制約を与える必要がある場面が想定される。
【０００６】
しかしながら、人間の操作信号を使って機器を動かす場合には、予め参照信号を作成しておくことはできない。このように、予め参照信号を作成できない場合には、機器に与えられた所望の制約を満たす参照信号を印加することはできない。同様に、計算機上の命令として指令値が与えられるような場合にも、その指令値が機器上の制約を満たさない場合が考えられる。
【０００７】
そこで、本願発明は、予め参照信号を用意することなく、入力信号を所望の制約を満たすように整形することが可能な信号生成装置等を提案することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明の第１の観点は、入力信号を入力して出力信号を出力する信号生成装置であって、第１結合部と、ＦＢ演算部と、逆関数演算部と、第２結合部と、飽和関数演算部と、関数演算部を備え、前記関数演算部は、関数を使って演算するものであり、前記逆関数演算部は、前記関数の逆関数又は疑似逆関数を演算するものであり、前記第１結合部は、前記出力信号と前記入力信号の差分を計算し、前記ＦＢ演算部は、前記第１結合部の出力を前記第２結合部に出力し、前記逆関数演算部は、前記入力信号に対して前記逆関数又は前記疑似逆関数を用いて演算し、前記第２結合部は、前記逆関数演算部の出力と前記ＦＢ演算部の出力の差分を計算し、前記飽和関数演算部は、前記第２結合部の出力が飽和関数を満たすのであればそのまま出力し、満たさないのであれば飽和関数を出力し、前記関数演算部は、前記飽和関数演算部の出力を前記関数を用いて演算するものである。
【０００９】
本願発明の第２の観点は、第１の観点の信号生成装置であって、前記関数演算部は、ｎ個（ｎは２以上の自然数）の関数Ｆi（ｉはｎ以下の自然数）を演算するものであり、前記飽和関数演算部は、ｎ個の飽和関数を使って演算するものであり、前記逆関数演算部は、逆関数Ｆi-1又は疑似逆関数^Ｆi-1を演算するものであり、前記逆関数演算部は、前記入力信号に対して前記逆関数Ｆi-1又は前記疑似逆関数^Ｆi-1をｉ＝１，…，ｎの順に用いて演算し、前記飽和関数演算部及び前記関数演算部は、１つの飽和関数を使った演算と前記関数Ｆiの演算をｉ＝ｎ，…，１の順に行うものである。
【００１０】
本願発明の第３の観点は、第１又は第２の観点の信号生成装置であって、前記逆関数演算部は、疑似逆関数を演算するものであり、前記第１結合部は、差分を計算する対象となる前記入力信号及び／又は前記出力信号は、前記関数及び前記逆関数を用いた演算が行われたものである。
【００１１】
本願発明の第４の観点は、第１から第３のいずれかの観点の信号生成装置であって、前記関数は、積分及び／又は多重積分を含む。
【００１２】
本願発明の第５の観点は、入力信号を入力して出力信号を出力する信号生成装置における信号生成方法であって、前記信号生成装置は、逆関数演算部と、第２結合部と、飽和関数演算部と、関数演算部を備え、前記関数演算部は、関数を使って演算するものであり、前記逆関数演算部は、前記関数の逆関数又は疑似逆関数を演算するものであり、前記逆関数演算部は、前記入力信号に対して前記逆関数又は前記疑似逆関数を用いて演算するステップと、前記第２結合部が、前記逆関数演算部の出力を、前記出力信号と前記入力信号の差分を用いて維持又は減少させるステップと、前記飽和関数演算部が、前記第２結合部の出力が飽和関数を満たすのであればそのまま出力し、満たさないのであれば飽和関数を出力するステップと、前記関数演算部が、前記飽和関数演算部の出力を前記関数を用いて演算するステップを含むものである。
【発明の効果】
【００１３】
本願発明の各観点によれば、入力信号を、所望の制約を満たすように整形することができる。本願発明は、飽和関数とフィルタの組み合わせだけで作成されており、内部で複雑な最適化などを行う必要がない。さらに、参照信号が必要にならないため、例えば人間が機器を操作するときでも、制約を課すことができる。さらに、本願発明の第２の観点にあるように、容易に複数の制約条件の場合に拡張することができる。
【００１４】
さらに、本願発明の第３の観点にあるように、疑似逆関数を用いたときでも、容易に誤差を考慮することが可能である。
【図面の簡単な説明】
【００１５】
【図１】本願発明の実施の形態に係る信号生成装置の構成の一例を示し、制約条件が（ａ）１つ、（ｂ）２つ、（ｃ）ｎ個の場合を示す図である。
【図２】図１において、ＦＦ演算部を省略した場合を示す図である。
【図３】図１（ａ）の場合の速度制限フィルタによる実験例を示す図である。
【図４】図１（ａ）の場合の加速度制限フィルタによる実験例を示す図である。
【発明を実施するための形態】
【００１６】
以下では、図面を参照して、本願発明の実施例について説明する。なお、本願発明は、この実施例に限定されるものではない。
【実施例１】
【００１７】
図１は、本願発明の実施の形態に係る信号生成装置の構成の一例を示す。（ａ）は制約条件が１つの場合、（ｂ）は制約条件が２つの場合、（ｃ）は制約条件がｎ個の場合を示す。
【００１８】
図１（ａ）を参照して、制約条件が１つの場合について説明する。Ｆは関数、^Ｆ-1はＦの疑似逆関数である。制約条件は、入力信号に^Ｆ-1を演算したときに、所定の飽和関数の範囲内となることである。
【００１９】
図１（ａ）の信号生成装置は、ＦＦ結合部１１と、第１結合部１３と、ＦＢ演算部１５と、逆関数演算部１７と、第２結合部１９と、飽和関数演算部２１と、関数演算部２３を備える。図１（ａ）のフィルタには、２つのフィードフォワード部と、１つのフィードバック部を含む。
【００２０】
第１フィードフォワード部は、ＦＦ演算部１１が、入力信号ｕに対して疑似逆関数と逆関数の演算を行い、第１結合部１３を経由してＦＢ演算部１５が伝達関数ＣFBを用いて演算し、第２結合部１９を経て、飽和関数演算部２１及び関数演算部２３を経て出力に至るものである。
【００２１】
フィードバック部は、出力信号ｕ*をフィードバックして、第１結合部１３を経由してＦＢ演算部１５が伝達関数ＣFBを用いて演算し、第２結合部１９を経て、飽和関数演算部２１及び関数演算部２３を経て出力に至るものである。
【００２２】
第２フィードフォワード部は、逆関数演算部１７が、入力信号ｕに対して疑似逆関数の演算を行い、第２結合部１９を経て、飽和関数演算部２１及び関数演算部２３を経て出力に至るものである。
【００２３】
第１結合部１３は、第１フィードフォワード部は負とし、フィードバック部は正とする。第２結合部１９は、第１フィードフォワード部及びフィードバック部は負とし、第２フィードフォワード部は正とする。
【００２４】
例えば、制約条件が、移動速度が一定値以下であることとする。ｕは移動距離、Ｆは積分であり、飽和関数は一定値とする。
【００２５】
第２フィードフォワード部によれば、入力信号ｕに対して、逆関数演算部１７が疑似微分を行う。そして、飽和関数演算部２１は、疑似微分後の入力信号ｕが、一定値未満であればそのまま出力し、一定値を超えるときには一定値を出力する。関数演算部２３は、飽和関数演算部２１の出力を積分することにより、制約条件を満たすｕ*を出力することができる。
【００２６】
図１（ａ）では、これに加えて、第１フィードフォワード部及びフィードバック部により、入力信号に近いように整形することが可能である。ｕとｕ*が一致するのであれば、第１結合部１３の出力はゼロ（ほぼゼロ）であり、伝達関数ＣFBによる修正は働かない。すなわち、ｕとｕ*は同一（ほぼ同一）の信号であり、飽和していないため制限を満たす。他方、ｕが制約を満たさず、ｕとｕ*が一致しないとき、第１フィードフォワード部により積分と疑似微分の関係を考慮し、第１結合部１３において、出力値からその値を引き、そしてＦＢ演算部１５を経て第２結合部１９において第１フィードフォワード部に反映させることにより、適切な整形を実現することができる。
【００２７】
図１（ａ）の速度及び加速度に関する具体的な制約条件の下での実験について、それぞれ、図３及び図４を参照して後に説明する。
【００２８】
図１（ｂ）は、制約条件が２つの場合である。図１（ｂ）の信号生成装置は、ＦＦ結合部３１1及び３１2と、第１結合部３３と、ＦＢ演算部３５と、逆関数演算部３７1及び３７2と、第２結合部３９と、飽和関数演算部４１1及び４１2と、関数演算部４３1及び４３2を備える。なお、添え字は、省略する場合がある。
【００２９】
Ｆ及びＧは関数、^Ｆ-1及び^Ｇ-1はそれぞれＦ及びＧの疑似逆関数である。制約条件は、入力信号に^Ｇ-1及び^Ｆ-1と^Ｆ-1を演算したときに、それぞれが所定の飽和関数の範囲内となることである。例えば、Ｆ及びＧを積分とし、制約条件は、疑似加速度が一定の範囲内であって、かつ、疑似速度が一定の範囲内であることである。
【００３０】
図１（ｂ）のフィルタも、図１（ａ）と同様である。すなわち、入力信号ｕに対して、ＦＦ演算部３１1が^Ｇ-1・Ｇの演算を行い、さらに、ＦＦ演算部３１2が^Ｆ-1・Ｆの演算を行う。ＦＦ演算部３１2の出力は、第１結合部３３に至る。第１結合部３３では、出力信号ｕ*を正とし、ＦＦ演算部３１2の出力を負とする。ＦＢ演算部３５は、第１結合部３３の出力に伝達関数ＣFBを用いて演算する。ＦＢ演算部３５の出力は、第２結合部３９に至る。
【００３１】
逆関数演算部３７1は、入力信号ｕに対して、^Ｇ-1の演算を行い、逆関数演算部３１2が^Ｆ-1の演算を行う。逆関数演算部３７2の出力は、第２結合部３９へ至る。第２結合部３９では、逆関数演算部３７2の出力を正とし、ＦＢ演算部３５の出力を負とする。第２結合部３９の出力に対して、飽和関数演算部４１2が制約条件に応じて演算を行い、関数演算部４３2がＦを演算し、さらに、飽和関数演算部４１1が制約条件に応じて演算を行い、関数演算部４３1がＧを演算し、出力信号ｕ*を得る。
【００３２】
図１（ｃ）は、制約条件がｎ個の場合である。図１（ｃ）の信号生成装置は、ＦＦ結合部５１i（ｉ＝１，…，ｎ）と、第１結合部５３と、ＦＢ演算部５５と、逆関数演算部５７iと、第２結合部５９と、飽和関数演算部６１iと、関数演算部６３iを備える。
【００３３】
Ｆiは関数、^Ｆi-1はＦiの疑似逆関数である。制約条件は、入力信号に^Ｆ1-1・…・^Ｆn-1と、^Ｆ1-1・…・^Ｆn-1-1と、…、^Ｆ1-1を演算したときに、それぞれが所定の飽和関数の範囲内となることである。
【００３４】
図１（ｃ）のフィルタも、図１（ａ）と同様である。すなわち、入力信号ｕに対して、ＦＦ演算部５１iがｉの順に^Ｆi-1・Ｆiの演算を行う。ＦＦ演算部５１nの出力は、結合部５３に至る。第１結合部５３では、出力信号ｕ*を正とし、ＦＦ演算部５１nの出力を負とする。ＦＢ演算部５５は、第１結合部５３の出力に伝達関数ＣFBを用いて演算する。ＦＢ演算部５５の出力は、第２結合部５９に至る。
【００３５】
逆関数演算部５７iは、入力信号ｕに対して、ｉの順に^Ｆi-1の演算を行う。逆関数演算部５７nの出力は、第２結合部５９へ至る。第２結合部５９では、逆関数演算部５７nの出力を正とし、ＦＢ演算部５５の出力を負とする。第２結合部５９の出力に対して、ｉ＝ｎ，…，１の順に、飽和関数演算部６１iは制約条件に応じて演算を行い、関数演算部２４iはＦiを演算して、出力信号ｕ*を得る。
【００３６】
図２（ａ）〜（ｃ）は、それぞれ、図１（ａ）〜（ｃ）に対応し、ＦＦ演算部１１、３１及び５１を省略したものである。例えば逆関数を使って演算できる場合や、疑似逆関数であっても誤差の演算を必要としなければ、図２にあるようにＦＦ演算部を省略してもよい。また、疑似逆関数による誤差の演算は、例えばフィードバック部におけるｕ*から第１結合部までの部分で考慮するようにしてもよい。
【００３７】
図１及び図２のフィルタによれば、入力信号ｕを、所望の制約を満たすように整形することができる。例えば、速度や加速度など、所望の制約条件を満たし、かつ与えられた元の信号に近い信号を整形により求めることができる。本手法は、飽和関数とフィルタの組み合わせだけで作成されており、内部で複雑な最適化などを行う必要がない。図にあるように簡単なブロック図で表される入出力関係の実装により容易に実現できることから、小型の組み込みシステムなどに容易に実装することができる。これは、参照信号が必要にならないため、例えば、人間が機器を操作するとき、安全の観点から制約を課すことができる。
【００３８】
図３を参照して、速度制限フィルタによる実験例を説明する。図３（ａ）は、速度制約を与えるフィルタ構成の例である。ｕが印加する入力信号、ｕ*が本手法で得られる出力信号である。
【００３９】
速度制限フィルタは、入力の速度（微分値）がある速度以上のとき、速度制限内に収まる入力ｕ*を生成する。入力の速度が制限内に収まっているときには、ｕをそのまま出力する。例えば、人が操作する環境で、入力の大きな変化をしてほしくない場合、人の操作量ｕの代わりにｕ*を入力する。例えば、急なアクセル操作を避ける場合などである。また、計算機の出した指令値が大きく変動するような場合に、リミッターとしての役割をさせることもできる。
【００４０】
図３（ｂ）〜（ｆ）で、横軸は時間であり、縦軸は信号の値やその速度（微分）値を示す。図３（ｂ）は、ｕ＝sin(0.8t）であり、ｕが速度制限（du/dt≦１）を満たす場合を示す。図３（ｃ）は、図３（ｂ）のｕ（グレー）と、これが与えられたときのｕ*（黒）を示す。図３（ｃ）で、線がほとんど重なっている。
【００４１】
図３（ｄ）は、ｕ＝sin(1.5t）であり、ｕが速度制限を満たさない場合を示す。図３（ｅ）は、図３（ｄ）のｕ（グレー）と、これが与えられたときのｕ*（黒）を示す。出力は、速度制約を満たし、かつ、元のｕに近い信号となっている。
【００４２】
図３（ｆ）は、ステップ信号が与えられた場合のｕ（グレー）とｕ*（黒）を示す。速度制限を満たす出力が得られている。
【００４３】
図４を参照して、加速度制限フィルタによる実験例を説明する。図４（ａ）は、加速度制約を与えるフィルタ構成の例である。ｕが印加する入力信号、ｕ*が本手法で得られる出力信号である。加速度制約フィルタは、入力の加速度（二階微分値）がある加速度以上のとき、加速度制限内に収まる入力ｕ*を生成する。入力の加速度が制限内に収まっているときには、ｕをそのまま出力する。
【００４４】
図４（ｂ）〜（ｅ）で、横軸は時間であり、縦軸は信号の値又はその微分値を示す。図４（ｂ）は、出力信号（実線）及び入力信号（破線）を表す。図４（ｂ）より、ステップ状信号に対して出力が追従している。図４（ｃ）は、出力信号の微分値を示す。その最大の傾きが制約の範囲内であることから加速度制約を満たす。図４（ｄ）は、他の出力信号（実線）及び入力信号（破線）を示す。図４（ｅ）は、図４（ｄ）のそれぞれの信号の微分値を示す。傾きの最大値が制約の範囲内であることから加速度制約を満たす。
【符号の説明】
【００４５】
１１，３１，５１  ＦＦ演算部、１３，３３，５３  第１結合部、１５，３５，５５  ＦＢ演算部、１７，３７，５７  逆関数演算部、１９，３９，５９  第２結合部、２１，４１，６１  飽和関数演算部、２３，４３，６３  関数演算部
【図１】
2018022273.tif 000003
【図２】
2018022273.tif 000004
【図３】
2018022273.tif 000005
【図４】
2018022273.tif 000006