(57)【特許請求の範囲】
【請求項１】
指定時刻に目標値に到達する指定関数により定義される軌道を生成するシステムであって、
前記指定時刻を可変に設定するように構成されている第１軌道生成要素と、
前記指定関数の３階時間微分関数の絶対値の高低を表わす評価関数の、始端時刻から、前記第１軌道生成要素により設定されている最新の前記指定時刻としての終端時刻までの指定期間にわたる積分値が最小になるという第１の条件下、かつ、前記指定関数の２階時間微分関数の値が許容範囲内に制限されるという第２の条件下で、当該指定期間における前記指定関数を生成するように構成されている第２軌道生成要素とを備えていることを特徴とする軌道生成システム。
【請求項２】
請求項１記載の軌道生成システムにおいて、
前記第１軌道生成要素が、前記第１の条件および前記第２の条件下で、前記指定時刻における前記指定関数の目標値の変更可能範囲を設定するように構成され、
前記第２軌道生成要素が、前記指定時刻における前記指定関数の目標値を、前記第１軌道生成要素により設定された前記変更可能範囲に収めるように前記指定関数を生成するように構成されていることを特徴とする軌道生成システム。
【請求項３】
請求項２記載の軌道生成システムにおいて、
前記第１軌道生成要素が、前記終端時刻における前記変更可能範囲を設定した上で、前記変更可能範囲と、前記目標値の指定範囲とが少なくとも部分的に重複するという第３の条件を満たすように前記終端時刻を設定するように構成されていることを特徴とする軌道生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間関数により定義される軌道を生成するシステムに関する。
【背景技術】
【０００２】
関数の値を指定時刻において目標値に一致させるように、当該関数を発生する有限時間整定フィルタが提案されている（特許文献１参照）。当該フィルタは、脚式移動ロボットの各足平の位置および姿勢の空間的な各成分の目標軌道の生成などに利用される（特許文献２参照）。
【０００３】
当該フィルタによれば、関数の目標値が変更された場合でも、時定数の値が調節されることにより、当該関数の値を指定時刻において当該変更後の目標値に一致させるなめらかな軌道が生成される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許３２３３４５０号公報
【特許文献２】特許３６４０２５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、前記フィルタによれば、指定時刻が変更された場合、関数の時間微分値の軌道が不連続となる可能性がある。たとえば、ロボットが歩行している途中で足平の接地指定時刻が変更された場合、鉛直方向成分について当該足平の速度および加速度のうち少なくとも一方の軌道が不連続となる可能性がある。
【０００６】
そこで、本発明は、指定関数により定義される軌道を生成する際、当該指定関数を目標値に一致させる指定時刻の変更を許容しながらも、当該指定関数の時間微分関数のなめらかさを確保しうるシステムを提供することを解決課題とする。
【課題を解決するための手段】
【０００７】
本発明の軌道生成システムは、指定時刻に目標値に到達する指定関数により定義される軌道を生成するシステムであって、前記指定時刻を可変に設定するように構成されている第１軌道生成要素と、前記指定関数の３階時間微分関数の絶対値の高低を表わす評価関数の、始端時刻から、前記第１軌道生成要素により設定されている最新の前記指定時刻としての終端時刻までの指定期間にわたる積分値が最小になるという第１の条件下、かつ、前記指定関数の２階時間微分関数の値が許容範囲内に制限されるという第２の条件下で、当該指定期間における前記指定関数を生成するように構成されている第２軌道生成要素とを備えていることを特徴とする。
【０００８】
本発明の軌道生成システムによれば、評価関数の指定期間にわたる積分値が最小になるという第１の条件が満たされるように指定関数が生成される。評価関数は、指定関数の３階時間微分関数の絶対値の高低を表わすため、その積分値が最小であるということは、指定期間における指定関数の２階時間微分関数、１階時間微分関数および当該指定関数の「なめらかさ」が確保されることを意味する。
【０００９】
したがって、指定時刻の変更を許容しながら、指定関数の１階および２階時間微分関数のそれぞれにより定義される軌道のなめらかさが確保されるように、当該指定関数により定義されるなめらかさがある軌道が生成されうる。
【００１１】
当該構成の軌道生成システムによれば、生成軌道にしたがって動作が制御される制御対象に対してその性能を超えた動作を指令するような指定関数の軌道が生成される事態が回避される。
【００１２】
前記第１軌道生成要素が、前記第１の条件および前記第２の条件下で、前記指定時刻における前記指定関数の目標値の変更可能範囲を設定するように構成され、前記第２軌道生成要素が、前記指定時刻における前記指定関数の目標値を、前記第１軌道生成要素により設定された前記変更可能範囲に収めるように前記指定関数を生成するように構成されていることが好ましい。
【００１３】
当該構成の軌道生成システムによれば、指定時刻の変更に加えて目標値の適応的な変更を許容しながら、指定関数の１階および２階時間微分関数のそれぞれにより定義される軌道のなめらかさが確保されるように当該指定関数により定義される軌道が生成されうる。
【００１４】
前記第１軌道生成要素が、前記終端時刻における前記変更可能範囲を設定した上で、前記変更可能範囲と、前記目標値の指定範囲とが少なくとも部分的に重複するという第３の条件を満たすように前記終端時刻を設定するように構成されていることが好ましい。
【００１５】
当該構成の軌道生成システムによれば、指定時刻において指定関数を指定範囲に含まれる目標値に一致させるように、終端時刻（指定時刻）の変更を許容しながらも、指定関数の時間微分関数により定義される軌道のなめらかさが確保されるように当該指定関数により定義される軌道が生成されうる。
【図面の簡単な説明】
【００１６】
【図１】本発明の軌道生成システムの構成説明図。
【図２】本発明の軌道生成方法に関する説明図。
【図３】位置、速度および加速度軌道生成の例１に関する説明図。
【図４】位置、速度および加速度軌道生成の例２に関する説明図。
【図５】位置、速度および加速度軌道生成の例３に関する説明図。
【図６】位置、速度および加速度軌道生成の例４に関する説明図。
【図７】目標値の変更可能範囲に関する説明図。
【発明を実施するための形態】
【００１７】
（軌道生成システムの構成）
図１に示されている本発明の一実施形態としての軌道生成システムはコンピュータにより構成されている。軌道生成システムは、第１軌道生成要素１と、第２軌道生成要素２とを備えている。
【００１８】
軌道生成システムの当該構成要素のすべてが、物理的に共通のハードウェア資源により構成されていてもよいし、物理的に別個のハードウェア資源により構成されていてもよい。たとえば、第２軌道生成要素２が生成軌道にしたがって動作が制御される制御対象を構成するコンピュータにより構成される一方、第１軌道生成要素１がこの制御対象とは別個のコンピュータにより構成されてもよい。
【００１９】
記載簡易のため、指定関数ｐ(t)のｎ階時間微分関数を「ｎ階指定関数ｐ(n)(t)」と記載する。たとえば、指定関数ｐ(t)が、前記特許文献２に記載されている脚式移動ロボットの各足平の位置を表わす場合、１階指定関数ｐ(1)(t)は足平速度を表わし、２階指定関数ｐ(2)(t)は足平加速度を表わし、３階指定関数ｐ(3)(t)は足平躍度を表わす。また、指定関数ｐ(t)が、当該脚式移動ロボットの膝関節等の関節の角度を表わす場合、１階指定関数ｐ(1)(t)は関節角速度を表わし、２階指定関数ｐ(2)(t)は関節角加速度を表わし、３階指定関数ｐ(3)(t)は関節角躍度を表わす。
【００２０】
第１軌道生成要素１は、指定時刻（終端時刻）を可変に設定するように構成されている。第１軌道生成要素１は、次に説明する第１の条件および第２の条件下で、指定時刻ｔ2における指定関数ｐ(t)の目標値の変更可能範囲［ｐmin_c，ｐmax_c］を設定するように構成されている。
【００２１】
第２軌道生成要素２は、３階指定関数ｐ(3)(t)の絶対値の高低を表わす評価関数の、始端時刻ｔ1から終端時刻ｔ2までの指定期間１［ｔ1，ｔ2］にわたる積分値が最小になるという第１の条件下で、少なくとも当該指定期間における指定関数ｐ(t)を生成するように構成されている。第２軌道生成要素２は、第１の条件に加えて、２階指定関数ｐ(2)(t)の値が許容範囲［ｐ(2)min_c，ｐ(2)max_c］内に制限されるという第２の条件下で、指定関数ｐ(t)を生成するように構成されている。第２軌道生成要素２は、指定時刻における指定関数ｐ(t)の目標値ｐTが、第１軌道生成要素１により設定された変更可能範囲［ｐmin_c，ｐmax_c］に収まるように指定関数ｐ(t)を生成するように構成されている。
【００２２】
本発明の構成要素がその担当演算処理を実行するように「構成されている」とは、軌道生成システムを構成するＣＰＵが、記憶装置から軌道生成プログラム（ソフトウェア）を読み出し、読み出した軌道生成プログラムにしたがって当該担当演算処理を実行するようにプログラムされていることを意味する。
【００２３】
軌道生成システムにより生成された指定関数ｐ(t)により定義される軌道にしたがって、ロボットまたは車両など、さまざまな機器が制御対象としてその動作が制御されうる。
【００２４】
（軌道生成システムの機能）
まず、指定関数ｐ(t)の目標終端値ｐTが認識される（図２／ＳＴＥＰ００２）。終端値ｐTはたとえば、センサにより測定される制御対象の状態に応じて流動的に設定されうる。これに応じて、終端時刻ｔ2における指定関数ｐ(t)の上限値ｐmax_cおよび下限値ｐmin_cのそれぞれが当該終端値ｐTに初期化される（図２／ＳＴＥＰ００４）。
【００２５】
終端時刻ｔ2は、第１軌道生成要素１により可変に設定されうる。たとえば、制御対象としての脚式移動ロボットが、その姿勢安定等の観点から足平を着地させるタイミングを早くしたり、遅くしたりする要請に応じて、当該着地タイミングとしての終端時刻ｔ2が変更されうる。
【００２６】
続いて、２階指定関数ｐ(2)(t)の極大値が上限値ｐ(2)maxに一致するという条件下で、２階指定関数ｐ(2)(t)が極値をとる４つの極値時刻τ1〜τ4が計算される（図２／ＳＴＥＰ１００）。
【００２７】
具体的には、極値時刻τにおいて２階指定関数ｐ(2)(t)の極大値がリミッタの上限値ｐ(2)maxに一致するという条件下で、２階指定関数ｐ(2)(t)が極値を示す時刻ｔ＝τが方程式（１）にしたがって求められる。
【００２８】
d3f(t)/dt3=0 ..(1)。
【００２９】
ここで、ｆ(t)は、指定期間［ｔ1，ｔ2］にわたる評価関数を最小化するような関数軌道を表わしている。評価関数は、３階指定関数ｐ(3)(t)の絶対値の高低を表わす関数であり、たとえば、３階指定関数ｐ(3)(t)またはそのノルムの二乗により定義される。この関数軌道ｆ(t)が用いられることにより、評価関数の指定期間にわたる積分値が最小になるという「第１の条件」が満たされるように指定関数ｐの軌道が生成される。
【００３０】
関数軌道ｆ(t)は、指定期間［ｔ1，ｔ2］の時間間隔Ｔ（＝ｔ2−ｔ1）、指定関数ｐ(t)の始端値ｐ(t1)＝ｐ0、１階指定関数の始端値ｐ(1)(t1)＝ｐ(1)0および２階指定関数の始端値ｐ(2)(t1)＝ｐ(2)0、ならびに指定関数ｐの終端値ｐ(t2)＝ｐT、１階指定関数の終端値ｐ(1)(t2)＝ｐ(1)Tおよび２階指定関数の終端値ｐ(2)(t2)＝ｐ(2)Tに基づき、式（２）により定義されている。
【００３１】
p(0)=f(t)=m5t5+m4t4+m3t3+(1/2)p(2)0t2+p(1)0t+p0,
m5=-{12(p0-pT)+6(p(1)0+p(1)T)T+(p(2)0-p(2)T)T2}/2T5,
m4={30(p0-pT)+(16p(1)0+14p(1)T)T+(3p(2)0-2p(2)T)T2}/2T4,
m3=-{20(p0-pT)+(12p(1)0+8p(1)T)T+(3p(2)0-p(2)T)T2}/2T3..(2)。
【００３２】
さらに、前記条件下で指定関数ｐ(t)の終端値ｐTが消去されるように方程式（１）が変形されることにより極値時刻τの４次方程式（４）が導出される。
【００３３】
M4τ4+M3τ3+M2τ2+M1τ+M0=0,
M4=12(p(1)0-p(1)T)+6T(p(2)0+p(2)T),
M3=24T(p(1)T-p(1)0)-8T2(2p(2)0+p(2)T),
M2=12T2(p(1)0-p(1)T)+3T3(5p(2)0+p(2)T-2p(2)max),
M1=6T4(p(2)max-p(2)0),
M0=T5(-p(2)max+p(2)0) ..(4)。
【００３４】
そして、当該４次方程式（４）が解かれることにより、４つの極値時刻τ＝τ1〜τ4が算出される。
【００３５】
当該４つの極値時刻τ1〜τ4のそれぞれを示す指数ｋが「１」に設定される（図２／ＳＴＥＰ１０２）。また、指数ｋが４以下であるか否かが判定される（図２／ＳＴＥＰ１０４）。
【００３６】
指数ｋが４以下であると判定された場合（図２／ＳＴＥＰ１０４‥ＹＥＳ）、時刻τkが指定期間［ｔ1，ｔ2］に含まれているか否かが判定される（図２／ＳＴＥＰ１０６）。この判定は、指定期間［ｔ1，ｔ2］から外れている時刻に極値を有するような、不適当な２階指定関数軌道ｐ(2)(t)が生成されることを回避するために実行される。
【００３７】
時刻τkが指定期間［ｔ1，ｔ2］に含まれていると判定された場合（図２／ＳＴＥＰ１０６‥ＹＥＳ）、時刻τkにおいて２階指定関数ｐ(2)(t)が極大値になるという仮定下で、指定関数ｐの終端値候補ｐcが計算される（図２／ＳＴＥＰ１０８）。指定関数の終端値候補ｐcが終端値ｐTになるという条件下で、２階指定関数ｐ(2)(t)の最小値ｐ(2)min_cが計算される（図２／ＳＴＥＰ１１０）。
【００３８】
その上で、２階指定関数ｐ(2)(t)の最小値ｐ(2)min_cが下限値ｐ(2)min以上であるか否かが判定される（図２／ＳＴＥＰ１１２）。この判定は、２階指定関数ｐ(2)(t)の極小値がリミッタ下限値ｐ(2)minを下回るような２階指定関数軌道ｐ(2)(t)が生成されることを回避するために実行される。すなわち、当該判定は、２階指定関数ｐ(2)(t)の値がリミッタ範囲（許容範囲）内に制限されるという「第２の条件」の充足性の判定に相当する。
【００３９】
２階指定関数ｐ(2)(t)の最小値ｐ(2)min_cがリミッタの下限値ｐ(2)min以上であると判定された場合（図２／ＳＴＥＰ１１２‥ＹＥＳ）、５階指定関数軌道ｐ(5)(t)が正値であるか否かがさらに判定される（図２／ＳＴＥＰ１１４）。
【００４０】
５階指定関数軌道ｐ(5)(t)が正値であると判定された場合（図２／ＳＴＥＰ１１４‥ＹＥＳ）、指定関数ｐ(t)の極大値候補ｐmax_cが終端値候補ｐc以上であるか否かが判定される（図２／ＳＴＥＰ１１６）。指定関数ｐ(t)の極大値候補ｐmax_cが終端値候補ｐc以上であると判定された場合（図２／ＳＴＥＰ１１６‥ＹＥＳ）、極大値候補ｐmax_cが終端値候補ｐcに設定される（図２／ＳＴＥＰ１１８）。
【００４１】
一方、５階指定関数軌道ｐ(5)(t)が正値ではないと判定された場合（図２／ＳＴＥＰ１１４‥ＮＯ）、指定関数ｐ(t)の極小値候補ｐmin_cが終端値候補ｐc以下であるか否かが判定される（図２／ＳＴＥＰ１２０）。指定関数ｐ(t)の極小値候補ｐmin_cが終端値候補ｐc以下であると判定された場合（図２／ＳＴＥＰ１２０‥ＹＥＳ）、極小値候補ｐmin_cが指定関数ｐ(t)の終端値候補ｐcに設定される（図２／ＳＴＥＰ１２２）。
【００４２】
その後、指数ｋの値が「１」だけ増やされた上で（図２／ＳＴＥＰ１２４）、ＳＴＥＰ１２０以降の処理が繰り返される（図２／ＳＴＥＰ１０４〜１２２参照）。
【００４３】
また、次の場合にも、指数ｋの値が「１」だけ増やされ（図２／ＳＴＥＰ１２２）、その上で指数ｋの値の対比以降の一連の処理が繰り返される（図２／ＳＴＥＰ１０４〜１２０参照）。すなわち、時刻τkが指定期間［ｔ1，ｔ2］に含まれていないと判定された場合（図２／ＳＴＥＰ１０６‥ＮＯ）、２階指定関数ｐ(2)(t)の最小値候補ｐ(2)min_cが下限値ｐ(2)min未満であると判定された場合（図２／ＳＴＥＰ１１２‥ＮＯ）、指定関数ｐ(t)の極大値候補ｐmax_cが終端値候補ｐc未満であると判定された場合（図２／ＳＴＥＰ１１６‥ＮＯ）または指定関数ｐ(t)の極小値候補ｐmin_cが終端値候補ｐcを超えていると判定された場合である（図２／ＳＴＥＰ１２０‥ＮＯ）。
【００４４】
指数ｋが４を超えていると判定された場合（図２／ＳＴＥＰ１０４‥ＮＯ）、２階指定関数ｐ(2)(t)の極小値が下限値ｐ(2)minに一致するという条件下で、２階指定関数ｐ(2)(t)が極値をとる４つの極値時刻τ1〜τ4が計算される（図２／ＳＴＥＰ２００）。
【００４５】
極値時刻τにおいて、２階指定関数ｐ(2)(t)の極小値がリミッタの下限値ｐ(2)minと一致するという条件下で、２階指定関数ｐ(2)(t)が極値を示す時刻τが方程式（１）にしたがって求められる。さらに、前記条件下で指定関数ｐ(t)の終端値ｐTが消去されるように方程式（１）が変形されることにより極値時刻τの４次方程式（４）が導出される。
【００４６】
そして、当該４次方程式（４）が解かれることにより、２階指定関数ｐ(2)(t)の極小値がリミッタの下限値ｐ(2)minを下回らないという条件が満たされるように４つの極値時刻τ1〜τ4が算出される。
【００４７】
当該４つの極値時刻τ1〜τ4のそれぞれを示す指数ｋが「１」に初期化される（図２／ＳＴＥＰ２０２）。また、指数ｋが４以下であるか否かが判定される（図２／ＳＴＥＰ２０４）。
【００４８】
指数ｋが４以下であると判定された場合（図２／ＳＴＥＰ２０４‥ＹＥＳ）、極値時刻τkが指定期間［ｔ1，ｔ2］に含まれているか否かが判定される（図２／ＳＴＥＰ２０６）。この判定は、指定期間［ｔ1，ｔ2］から外れている時刻に極値を有するような、不適当な２階指定関数軌道が生成されることを回避するために実行される。
【００４９】
極値時刻τkが指定期間［ｔ1，ｔ2］に含まれていると判定された場合（図２／ＳＴＥＰ２０６‥ＹＥＳ）、この極値時刻τkにおいて２階指定関数ｐ(2)(t)が極小値になるという仮定下で、指定関数ｐ(t)の終端値候補ｐcが計算される（図２／ＳＴＥＰ２０８）。指定関数ｐ(t)の終端値候補ｐcが終端値ｐTに一致するという条件下で２階指定関数の最大値ｐ(2)max_cが計算される（図２／ＳＴＥＰ２１０）。
【００５０】
その上で、２階指定関数ｐ(2)(t)の最大値ｐ(2)max_cがリミッタの上限値ｐ(2)max以下であるか否かが判定される（図２／ＳＴＥＰ２１２）。この判定は、極大値がリミッタの上限値ｐ(2)maxを超えるような２階指定関数軌道ｐ(2)(t)が生成されることを回避するために実行される。すなわち、当該判定は、２階指定関数ｐ(2)(t)の値がリミッタ範囲（許容範囲）内に制限されるという「第２の条件」の充足性の判定に相当する。
【００５１】
２階指定関数ｐ(2)(t)の最大値ｐ(2)max_cが上限値ｐ(2)max以下であると判定された場合（図２／ＳＴＥＰ２１２‥ＹＥＳ）、５階指定関数軌道ｐ(5)(t)が正値であるか否かがさらに判定される（図２／ＳＴＥＰ２１４）。
【００５２】
５階指定関数軌道ｐ(5)(t)が正値であると判定された場合（図２／ＳＴＥＰ２１４‥ＹＥＳ）、指定関数ｐ(t)の極大値候補ｐmax_cが終端値候補ｐc以上であるか否かが判定される（図２／ＳＴＥＰ２１６）。指定関数ｐ(t)の極大値候補ｐmax_cが終端値候補ｐc以上であると判定された場合（図２／ＳＴＥＰ２１６‥ＹＥＳ）、終端値候補ｐcが極大値候補ｐmax_cに設定される（図２／ＳＴＥＰ２１８）。
【００５３】
一方、５階指定関数軌道ｐ(5)(t)が正値ではないと判定された場合（図２／ＳＴＥＰ２１４‥ＮＯ）、指定関数ｐ(t)の極小値候補ｐmin_cが終端値候補ｐc以下であるか否かが判定される（図２／ＳＴＥＰ２２０）。極小値候補ｐmin_cが終端値候補ｐc以下であると判定された場合（図２／ＳＴＥＰ２２０‥ＹＥＳ）、終端値候補ｐcが極小値候補ｐmin_cに設定される（図２／ＳＴＥＰ２２２）。
【００５４】
その後、指数ｋの値が「１」だけ増やされ（図２／ＳＴＥＰ２２４）、その上で指数ｋの対比以降の一連の処理が繰り返される（図２／ＳＴＥＰ２０４〜２２２参照）。
【００５５】
また、次の場合にも、指数ｋの値が「１」だけ増やされ（図２／ＳＴＥＰ２２４）、その上で指数ｋの対比以降の一連の処理が繰り返される（図２／ＳＴＥＰ２０４〜２２２参照）。すなわち、極値時刻τkが指定期間［ｔ1，ｔ2］に含まれていないと判定された場合（図２／ＳＴＥＰ２０６‥ＮＯ）、２階指定関数ｐ(2)(t)の最大値候補ｐ(2)max_cが上限値ｐ(2)maxを超えていると判定された場合（図２／ＳＴＥＰ２１２‥ＮＯ）、指定関数ｐ(t)の極大値候補ｐmax_cが終端値候補ｐc未満であると判定された場合（図２／ＳＴＥＰ２１６‥ＮＯ）または指定関数ｐの極小値候補ｐmin_cが終端値候補ｐcを超えていると判定された場合である（図２／ＳＴＥＰ２２０‥ＮＯ）。
【００５６】
指数ｋが４を超えていると判定された場合（図２／ＳＴＥＰ２０４‥ＮＯ）、第２の条件を満たす終端値ｐTの最大値がｐmax_cに決定され、最小値はｐmin_cに決定される（図２／ＳＴＥＰ３００）。
【００５７】
図３〜図６のそれぞれの上段、中段および下段のそれぞれには実線により当初の指定関数軌道ｐ(t)、１階指定関数軌道ｐ(1)(t)および２階指定関数軌道ｐ(2)(t)のそれぞれが示されている。始端値ｐ0、１階指定関数始端値ｐ(1)0および２階指定関数始端値ｐ(2) 0ならびに１階指定関数終端値ｐ(1)Tおよび２階指定関数終端値ｐ(2)Tのそれぞれが０であるという束縛条件下で各軌道が設定されている。
【００５８】
図３〜図６のそれぞれにおいて、時刻ｔ＝０，０．２５Ｔ，０．５０Ｔおよび０．７５Ｔのそれぞれを始端時刻ｔ＝ｔ1とした場合に、第１および第２の条件を満たすように変更された一対の指定関数軌道ｐ(t)、一対の１階指定関数軌道ｐ(1)(t)および一対の２階指定関数軌道ｐ(2)(t)のそれぞれが破線で示されている。
【００５９】
図３〜図６のそれぞれの上段から明らかなように、第２の条件下で変更された一対の指定関数軌道の終端時刻ｔ＝ｔ2における間隔（終端値可変範囲（＝ｐmax_c−ｐmin_c））が、終端時刻ｔ＝ｔ2までの残り時間が短くなるほど狭くなっている。
【００６０】
図７には、当初の指定関数軌道ｐ(t)が破線で示され、指定期間Ｔが変更されない状況で、第２の条件が満たされるように変更された指定関数軌道ｐ(t)が一対の一点鎖線により示されている。また、指定期間Ｔの長さが１．５倍に変更された状況で、第２の条件が満たされるように変更された指定関数軌道ｐ(t)が一対の実線により示されている。
【００６１】
図７から明らかなように、時間間隔Ｔの広狭に応じて、第２の条件を満たす終端値可変範囲の広狭が変化する。
【００６２】
そして、第２軌道生成要素２により、指定関数ｐ(t)の終端値ｐ(t2)が目標終端値ｐTに一致するように、あるいは、第１軌道生成要素１により設定された変更可能範囲［ｐmin_c，ｐmax_c］に収まるように指定関数ｐが生成される。
【００６３】
（本発明の軌道生成システムの作用効果）
本発明の軌道生成システムによれば、評価関数の指定期間にわたる積分値が最小になるという「第１の条件」が満たされるように指定関数ｐが生成される（図２／ＳＴＥＰ１００，ＳＴＥＰ２００、式（２）参照）。評価関数は、前記のように３階指定関数ｐ(3)(t)の絶対値の高低を表わすため、その積分値が最小であるということは、指定期間［ｔ1，ｔ2］における２階指定関数ｐ(2)(t)、１階指定関数ｐ(1)(t)および当該指定関数ｐ(t)の「なめらかさ」が確保されることを意味する。
【００６４】
また、第１の条件に加えて、２階指定関数ｐ(2)(t)の値がリミッタ範囲［ｐ(2)min_c，ｐ(2)max_c］内に制限されるという「第２の条件」が満たされるように指定関数ｐ(t)が生成される（図２／ＳＴＥＰ１１２，ＳＴＥＰ２１２参照）。
【００６５】
したがって、指定時刻ｔ2の変更を許容しながら、１階指定関数軌道ｐ(1)(t)および２階指定関数軌道ｐ(2)(t)のなめらかさが確保されるように、当該指定関数ｐにより定義されるなめらかさがある軌道ｐ(t)が生成されうる（図３〜図６参照）。また、生成軌道ｐ(t)にしたがって動作が制御される制御対象に対してその性能を超えた動作を指令するような指定関数ｐ(t)の軌道が生成される事態が回避される。
【００６６】
（本発明の他の実施形態）
第１軌道生成要素１が、始端時刻ｔ1および終端時刻ｔ2のうち少なくとも一方が異なる場合における変更可能範囲［ｐmin_c，ｐmax_c］を設定した上で、当該変更可能範囲と、制御対象の行動計画等に応じて定まる目標値ｐTの指定範囲とが少なくとも部分的に重複するという「第３の条件」を満たすように始端時刻ｔ1および終端時刻ｔ2のうち少なくとも一方を設定するように構成されていてもよい。
【００６７】
当該構成の軌道生成システムによれば、指定時刻ｔ2において指定関数ｐ(t)を指定範囲に含まれる目標値ｐTに一致させるように、始端時刻ｔ1および終端時刻（指定時刻）ｔ2のうち少なくとも一方の変更を許容しながらも、１階指定関数軌道ｐ(1)(t)および２階指定関数軌道ｐ(2)(t)のなめらかさが確保されるように当該指定関数軌道ｐ(t)が生成されうる。
【符号の説明】
【００６８】
１‥第１軌道生成要素、２‥第２軌道生成要素。
【図１】
0005752500.tif 000002
【図２】
0005752500.tif 000003
【図３】
0005752500.tif 000004
【図４】
0005752500.tif 000005
【図５】
0005752500.tif 000006
【図６】
0005752500.tif 000007
【図７】
0005752500.tif 000008