(57)【要約】      （修正有）【課題】入力軌道を局所的に変更する代わりに、この局所変更を、軌道全体の大域的変更を検討するための因子全体の計算における１つの因子として用いることによって、軌道を生成する方法を提供する。【解決手段】数値制御（ＮＣ）プロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成する方法が、点の複数のシーケンスを求め、シーケンスごとに、入力軌道における各点の局所コストを求める。各シーケンスは、入力軌道から点の一意の組合せを除去することによって形成され、シーケンスの点の局所コストは、シーケンス内の点のうちの少なくとも幾つかに対するその点の空間的配置に基づいて求められる。シーケンスごとに、入力軌道内の各点の対応する局所コストの和が求められ、局所コストの和の最適値を有する最適シーケンスに基づいて軌道が求められる。【選択図】図１
2015138549.tif 000002
【特許請求の範囲】
【請求項１】
数値制御（ＮＣ）プロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成する方法であって、
前記点の複数のシーケンスを求めることであって、前記各シーケンスは、前記入力軌道から点の一意の組合せを除去することによって形成されることと、
前記シーケンスごとに、前記入力軌道における前記各点の局所コストを求めることであって、前記シーケンスの前記点の前記局所コストは、該シーケンス内の点のうちの少なくとも幾つかに対する前記点の空間的配置に基づくことと、
前記シーケンスごとに、前記入力軌道における前記各点の対応する局所コストの和を求めることと、
前記局所コストの前記和の最適値を有する最適シーケンスに基づいて前記軌道を求めることであって、前記最適値は前記局所コストの前記和の最小値又は最大値であることと、
を含み、該方法のステップはプロセッサによって実行される、数値制御プロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成する方法。
【請求項２】
前記シーケンスから除去される前記点の前記局所コストは、該除去される点から、該点を囲む前記シーケンス内の２つの点を接続する弦への距離に比例する距離コストを含み、前記シーケンス内に保持される前記点の前記局所コストは、該保持される点と該点を囲む前記シーケンスの前記２つの点とによって形成される角度に比例する角度コストを含む、請求項１に記載の方法。
【請求項３】
前記点の前記局所コストは、距離コスト、角度コスト及び角コストのうちの１つ又はそれらの組合せを含む、請求項１に記載の方法。
【請求項４】
前記最適シーケンスにおける角点、中間点、及び直線セグメントの点を求めることと、
前記角点と、前記直線セグメントの前記点との間の前記中間点を追跡してスプラインを当てはめることと、
前記スプラインを再サンプリングすることであって、出力点を生成し、前記角点と、前記直線セグメントの前記点と、前記出力点とが前記軌道を定義するようにすることと、
を更に含む、請求項１に記載の方法。
【請求項５】
前記角度が閾値未満である場合、前記最適シーケンス内の前記保持される点を角点であると判断することと、
前記最適シーケンス内の少なくとも幾つかの点を追跡して前記角点間のスプラインを当てはめることと、
を更に含む、請求項２に記載の方法。
【請求項６】
前記スプラインをサンプリングすることであって、出力点を生成し、前記角点と前記出力点とが前記軌道を定義するようにすること、
を更に含む、請求項５に記載の方法。
【請求項７】
動的計画法（ＤＰ）を用いて前記点の前記シーケンスごとに前記局所コストの和を求めること、
を更に含む、請求項１に記載の方法。
【請求項８】
閾値未満の距離内の点を統合することと、
ＤＰトレリスグラフを構築することであって、前記グラフ上の各頂点は、該頂点に進む累積コストに関連付けられた点であり、頂点対は、前記シーケンス内の前記対を有するコストを表すエッジにより接続されることと、
前記グラフにおける最小コストを有する経路に対応する前記最適シーケンスを求めることと、
を更に含む、請求項７に記載の方法。
【請求項９】
保持される点、角点、雑音点、又は冗長な点のうちの１つ又は組合せとして前記シーケンス内の点をラベル付けすることと、
前記ラベル付けを用いて、前記シーケンスの前記点にスプラインを当てはめることと、
を更に含む、請求項１に記載の方法。
【請求項１０】
数値制御（ＮＣ）プロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成するシステムであって、
前記点の複数のシーケンスを求めることであって、該各シーケンスは、前記入力軌道から点の一意の組合せを除去することによって形成され、該除去することは、前記点の一意の組合せを除去される点としてラベル付けすることと、前記シーケンス内の保持される点を保持される点、角点、雑音点、又は冗長な点のうちの１つ又は組合せとしてラベル付けすることとを含むことと、
前記シーケンスごとに、前記入力軌道における前記各点の局所コストを求めることであって、前記シーケンスの前記点の前記局所コストは、該シーケンス内の点のうちの少なくとも幾つかに対する前記点の空間的配置に基づくことと、
前記シーケンスごとに、前記入力軌道における前記各点の対応する局所コストの和を求めることと、
前記局所コストの前記和の最適値を有する最適シーケンスに基づいて前記軌道を求めることと、
前記ラベル付けを用いて前記シーケンスの前記保持される点にスプラインを当てはめることと、
を行うように構成されるプロセッサを備える、数値制御プロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、包括的には数値制御プロセスに関し、より詳細には、数値制御プロセスのために空間座標の軌道を求めることに関する。
【背景技術】
【０００２】
数値制御（ＮＣ）は、記憶媒体上に符号化された抽象的にプログラムされたコマンドによって動作するか又はカムにより機械的に自動化される機械工具の自動化に関する。現行のＮＣのほとんどはコンピュータ数値制御（ＣＮＣ）であり、ＣＮＣではコンピュータが制御の不可欠な役割を果たす。
【０００３】
最近のＣＮＣシステムでは、コンピュータ支援設計（ＣＡＤ）及びコンピュータ支援製造（ＣＡＭ）プログラムを用いて、エンドツーエンドなコンポーネント設計が高度に自動化されている。これらのプログラムはファイルを生成し、このファイルは解釈されると、ポストプロセッサを介して特定の機械を動作させるのに必要なコマンドを抽出し、次にこのファイルは製造用のＣＮＣ機にロードされる。通常、数値制御機械は、アクチュエーター位置又は移動される質量の空間座標を表す点のシーケンスの形態の基準軌道を与えられる。ＣＮＣは、機械の物理制約を考慮して、その軌道を可能な限り辿るように質量の移動を制御する。
【０００４】
機械加工機を動作させる動きコントローラは、ＣＮＣの１つの例である。旋盤、研削盤及び座標測定機（ＣＭＭ）は、動き制御のためにＣＮＣを利用する製造機器の他の例である。３軸ＣＮＣ機械加工機は、工具が搭載されるヘッドと、Ｘ平面、Ｙ平面において工具に対し移動可能なテーブルとを有する。モータがＸ方向及びＹ方向におけるテーブルの動きを制御し、Ｚ方向における工具の動きは、直交Ｘ、Ｙ、Ｚデカルト座標系に従う。位置センサー（通常、エンコーダー又はスケール）は、機械加工機の座標系に対する工具の位置を示すフィードバックを提供する。
【０００５】
ＣＮＣは、工具が規定の速度又は送り速度で辿ることになる工具経路の軌道を規定するパートプログラムにおいて読み取りを行う。工具の動きは通常、予備コード又はＧコードとしても知られる数値制御プログラミング言語を用いて実装される。例えばＲＳ２７４Ｄ標準規格及びＤＩＮ６６０２５／ＩＳＯ６９８３標準規格を参照されたい。コントローラは、現在の工具位置を規定の工具経路と連続的に比較する。このフィードバックを用いて、コントローラは、工具が所望の速度で工具経路に沿って動く間、工具の実際の軌道が入力軌道と可能な限り密接に合致するようにモータを制御する信号を生成する。コントローラは、コンピュータ支援機械加工（ＣＡＭ）システムとともに用いることができる。
【０００６】
軌道及び対応するＧコードが機械加工の所望の結果のモデルから求められる。軌道が求められた後、ＣＮＣは元のモデルにアクセスを有せず、制御における誤差を一切補償することができない。さらに、軌道情報は所望の機械加工の正確な表現でない場合があり、例えば軌道は、雑音、座標の過剰な量子化、モデルの幾何学的形状のアンダーサンプリングによって破損する場合がある。
【０００７】
したがって、軌道データがコントローラに供給される前に再処理及び再サンプリングされることが一般的に必要である。通常、これは、点のシーケンスをフィルタリング及び平滑化することを含む。平均化、補間、単純な曲線の当てはめ、及び外れ値の切り捨ての閾値を含む複数の従来の方法が入力軌道を改善するために用いられてきた。例えば、特許文献１、特許文献２及び特許文献３を参照されたい。
【０００８】
しかしながら、ＣＮＣの計算能力の制限に起因して、従来の方法は、入力軌道を局所的に、すなわちデータ点の小ウィンドウにわたって処理する。小ウィンドウは、範囲外の点が角を表すか、量子化アーティファクトを表すか、余分な動きを表すか、サンプリングアーティファクトを表すか、アンダーサンプリングされた曲率変化を表すか、又は何らかの他のアーティファクトを表すかを判断するのに十分な情報を含まない場合があるので、明らかに準最適な結果となる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】米国特許第５８１５４０１号
【特許文献２】米国特許第７４４４２０２号
【特許文献３】米国特許第５７２３９６１号
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の様々な実施形態は、局所的に利用可能な情報のみに基づくプロセスの数値制御（ＮＣ）のための入力軌道の局所変更が準最適な場合があるという認識に基づいている。これは、局所変更が、軌道の他の部分の構造及びあり得る変更を考慮することなく求められることに起因する。
【００１１】
この欠点に対処するために、本発明の幾つかの実施形態は、入力軌道を局所的に変更する代わりに、この局所変更を、軌道全体の大域的変更を検討するための因子全体の計算における１つの因子として用いる。このために、幾つかの実施形態は、多岐にわたる可能な局所変更の組合せに基づいて軌道を大域的に変更する。
【課題を解決するための手段】
【００１２】
例えば、１つの実施形態は、ＮＣのための空間座標を表す点によって形成される入力軌道を処理して、点の複数のシーケンスを求める。各シーケンスは、入力軌道から点の一意の組合せを除去することによって形成され、入力軌道全体の大域的変更を表すことができる。シーケンスごとに、実施形態は入力軌道における各点の局所コストを求める。例えば、シーケンスの点の局所コストは、シーケンス内の点のうちの少なくとも幾つかに対する点の空間的配置に基づく。
【００１３】
幾つかの実施形態では、シーケンスの点の局所コストは、点がこのシーケンスから除去される場合であっても求められる。そのようにして、実施形態は、あり得る更なる局所変更因子を検討することができる。実施形態は、シーケンスごとに、入力軌道の点の対応する局所コストの和を求めることによって様々なシーケンスを比較し、局所コストの和の最適値を有する最適シーケンスを選択する。例えば、最適値は局所コストの和の最小値又は最大値である。局所コストの和を求めることによって、実施形態は、点の局所コストを、最適シーケンスに基づく軌道の生成に関する大域決定を行うことを可能にする因子全体における１つの因子とみなす。
【００１４】
したがって、本発明の１つの実施形態は、数値制御（ＮＣ）プロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成する方法を開示する。本方法は、前記点の複数のシーケンスを求めることであって、前記各シーケンスは、前記入力軌道から点の一意の組合せを除去することによって形成されることと、前記シーケンスごとに、前記入力軌道における前記各点の局所コストを求めることであって、前記シーケンスの前記点の前記局所コストは、該シーケンス内の点のうちの少なくとも幾つかに対する前記点の空間的配置に基づくことと、前記シーケンスごとに、前記入力軌道における前記各点の対応する局所コストの和を求めることと、前記局所コストの前記和の最適値を有する最適シーケンスに基づいて前記軌道を求めることであって、前記最適値は前記局所コストの前記和の最小値又は最大値であることと、を含む。該方法のステップはプロセッサによって実行される。
【００１５】
本発明の別の実施形態は、数値制御（ＮＣ）プロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成するシステムを開示する。本方法は、前記点の複数のシーケンスを求めることであって、該各シーケンスは、前記入力軌道から点の一意の組合せを除去することによって形成され、該除去することは、前記点の一意の組合せを除去される点としてラベル付けすることと、前記シーケンス内の保持される点を保持される点、角点、雑音点、又は冗長な点のうちの１つ又は組合せとしてラベル付けすることとを含むことと、前記シーケンスごとに、前記入力軌道における前記各点の局所コストを求めることであって、前記シーケンスの前記点の前記局所コストは、該シーケンス内の点のうちの少なくとも幾つかに対する前記点の空間的配置に基づくことと、前記シーケンスごとに、前記入力軌道における前記各点の対応する局所コストの和を求めることと、前記局所コストの前記和の最適値を有する最適シーケンスに基づいて前記軌道を求めることと、前記ラベル付けを用いて前記シーケンスの前記保持される点にスプラインを当てはめることと、を行うように構成されるプロセッサを備える。
【図面の簡単な説明】
【００１６】
【図１】本発明の幾つかの実施形態を用いるＮＣ機の流れ図である。
【図２Ａ】本発明の幾つかの実施形態によって用いられる機械加工工具の軌道の概略図である。
【図２Ｂ】本発明の幾つかの実施形態によって用いられる工具の直線の軌道の概略図である。
【図２Ｃ】本発明の幾つかの実施形態によって用いられる工具の曲線の軌道の概略図である。
【図３】本発明の幾つかの実施形態による、軌道を求める方法のブロック図である。
【図４Ａ】本発明の幾つかの実施形態による、入力シーケンスから点の異なる組合せを除去することによってシーケンスを決定する例である。
【図４Ｂ】本発明の幾つかの実施形態による、入力シーケンスから点の異なる組合せを除去することによってシーケンスを決定する例である。
【図４Ｃ】本発明の幾つかの実施形態による、入力シーケンスから点の異なる組合せを除去することによってシーケンスを決定する例である。
【図４Ｄ】本発明の幾つかの実施形態による、入力シーケンスから点の異なる組合せを除去することによってシーケンスを決定する例である。
【図５】本発明の幾つかの実施形態による、幾つかの点間でスプラインを当てはめることによって最適シーケンスを更に変更する、本発明の１つの実施形態の概略図である。
【図６】１つの実施形態による、スプラインを当てはめる方法のブロック図である。
【図７】別の実施形態による、スプラインを当てはめる方法のブロック図である。
【図８Ａ】本発明の幾つかの実施形態によって用いられる距離を求める方法の概略図である。
【図８Ｂ】幾つかの実施形態の原理に従って求められる軌道の例である。
【図９】本発明の１つの実施形態による、動的計画法（ＤＰ）を用いて最適シーケンスを求める例である。
【図１０Ａ】本発明の１つの実施形態による、ラベル付け及びコスト割り当てを示すセグメントである。
【図１０Ｂ】本発明の１つの実施形態による、ラベル付け及びコスト割り当てを示すセグメントである。
【図１０Ｃ】本発明の１つの実施形態による、ラベル付け及びコスト割り当てを示すセグメントである。
【図１１】１つの実施形態による、点のシーケンスを解析する例である。
【発明を実施するための形態】
【００１７】
システム及び方法の概観
図１は、数値制御（ＮＣ）プロセスの例、すなわち、ＮＣ機械加工システム１００と、ＮＣプロセスのための空間座標を表す点によって形成される入力軌道に基づいて軌道を生成するシステム１５０とを示している。入力軌道は、システム１５０に直接提供することもできるし、Ｇコード１０６によって規定することもできる。システム１５０は軌道を求め、システム１００に出力する。例えば、システム１５０はＧコード１０６又は機械命令１１０を変更することができる。幾つかの実施形態では、ＮＣ機械加工システム１００はＮＣフライス加工システムである。
【００１８】
ＮＣ機械加工システム１００では、コンピュータ支援設計（ＣＡＤ）モデル１０２がコンピュータ支援製造（ＣＡＭ）システム１０４に入力され、ＣＡＭシステム１０４は、ＮＣ機械加工機を制御するためのＧコード１０６を生成する。ＮＣ機械加工中に、ＧコードはＮＣコンソール１０８に入力され、ＮＣコンソール１０８は各Ｇコードを処理して、対応する１組のＮＣ機械命令１１０を生成する。ＮＣ機械命令はＮＣコントローラ１１２に入力され、ＮＣコントローラ１１２は、工作物を機械加工するために、工作物１１８に対して工具１１６を動かす１組のモータ制御信号１１４を生成する。
【００１９】
システム１５０は、入力として、コンピュータ支援製造システム１０４によって生成されたＧコード１０６、又はＮＣコンソール１０８によって生成されたＮＣ機械命令１１０を取り込むことができる。システム１５０への入力は、軌道を生成するコンピュータプロセッサ１５２によって読み出される。
【００２０】
幾つかの実施形態では、システム１５０はＮＣ機械加工中に軌道をリアルタイムで生成する。代替的な実施形態では、システム１５０は工作物の機械加工をシミュレートして、軌道に従って機械加工の性能を試験する。これらの実施形態では、プロセッサ１５２はシミュレートされたモデル１５４を生成し、このモデルはコンピュータメモリ１５６に記憶することができる。プロセッサ１５２は、記憶されるシミュレートされたモデル１５４をレンダリングして、レンダリングされた画像１５８を生成することができ、画像１５８は表示デバイス１６０に出力することができる。表示された画像１６２をコンピュータ支援設計モデル１０２と比較して、工作物の実際のＮＣ機械加工を実行する前に、Ｇコード１０６又はＮＣ機械命令１１０を検証することができる。
【００２１】
図２Ａは、形状２５０の移動の軌道２５２を示している。軌道２５２は、形状２５０の特定の点の位置を時間の関数として規定する。幾つかの実施形態では、軌道はＮＣ機械加工のための空間座標を表す点２６０によって形成される。工具の軌道は、Ｇコード及び／又はＮＣ機械命令によって求められる。通常、軌道は、本明細書ではＮＣセグメント呼ばれる１組のセグメント、すなわちＮＣ工具経路のセグメントによって求められる。例えば、工具の軌道は、各ＮＣセグメントの開始及び終了における工具の位置を含むことができる。工作物に対する工具の軌道は多くの形態で規定することができる。
【００２２】
図２Ｂは、直線２７４に沿って動かされる工具２７２のための直線の軌道を示している。図２Ｃは、曲線の軌道を示しており、工具２７２の先端２８０は曲線２７６に沿って動かされる。他の可能な軌道の形態は、幾つか例を挙げると、点において工具を位置決めすること、工具をポリラインとして知られる線のシーケンスに沿って動かすこと、工具をスパイラル若しくは螺旋状の曲線に沿って動かすこと、工具を二次ベジエ曲線若しくは三次ベジエ曲線等の多項式曲線、又は区分的多項式曲線として知られる多項式曲線のシーケンスに沿って動かすことを含む。
【００２３】
図３は、本発明の１つの実施形態による、数値制御（ＮＣ）プロセスのための空間座標を表す点３０５によって形成される入力軌道に基づいて軌道３４５を生成する方法のブロック図を示している。
【００２４】
実施形態は、点の複数のシーケンス３１５を求める（３１０）。各シーケンスは、入力軌道から点の一意の組合せを除去することによって形成される。幾つかの実施形態では、除去は、入力点に様々なラベルを割り当てることによって行われる。例えば、シーケンスは、入力軌道からの点の一意の組合せに除去ラベルを割り当て、保持される点に角点又は平滑点ラベルを割り当てることによって形成することができる。
【００２５】
次に、実施形態は、シーケンスごとに、入力軌道の各点の局所コスト３２５を求める（３２０）。例えば、シーケンスの点の局所コストは、シーケンス内の点の少なくとも幾つかに対する点の空間的配置に基づいて求めることができる。幾つかの実施形態では、局所コストは、シーケンス全体の構造を考慮することなく求められ、このためこのコストは局所的である。
【００２６】
次に、実施形態は、シーケンス３１５ごとに、入力軌道内の各点の対応する局所コストの和３３５を求め（３３０）、局所コストの和の最適値を有する最適シーケンスに基づいて軌道３４５を求める（３４０）。
【００２７】
図４Ａ〜図４Ｄは、点４１０、４２０、４３０及び４４０を含む入力シーケンスから組合せ点を除去することによって点のシーケンス３１５を求める例を示している。開始点４１０及び終了点４４０がシーケンス内で保持されると仮定すると、図４Ａにおけるように点を除去しないことによって、図４Ｂにおけるように点４２０を除去することによって、図４Ｃにおけるように点４３０を除去することによって、並びに図４Ｄにおけるように点４２０及び４３０の双方を除去することによって、シーケンスを形成することができる。
【００２８】
シーケンスの点の局所コストは、点がそのシーケンスから除去されている場合であっても求めることができる。例えば、図４Ｂのシーケンスの局所コストの和は、点４２０から弦４２２までの距離に基づいて求められた除去される点４２０の局所コストと、角度４３７に基づいて求められた保持される点４３０の局所コストとを含む。
【００２９】
例えば、１つの実施形態では、図４Ｃにおける点４３０等の除去される点の局所コストは、除去される点からシーケンスのポリラインへの距離４３３に比例する距離コストを含む。この例において、距離４３３は、点４３０から、点４３０を囲むシーケンス内の２つの点４２０及び４４０を接続する弦４３５への距離である。
【００３０】
図４Ｂにおける点４３０等の、保持される点の局所コストは、この保持される点と、この点を囲むシーケンスの２つの点とによって形成される角度４３７に比例する角度コストを含むことができる。したがって、同じ点は、異なるシーケンスについて求められた異なる局所コストを有することができる。図４Ａ〜図４Ｄの例において、点の４つの異なるシーケンスについて４つの局所コストが求められる。１つの実施形態において、開始点及び終了点の局所コストは求められない。この実施形態において、図４Ａ〜図４Ｄの例の４つのシーケンスについて２つの局所コストが求められる。
【００３１】
図４Ａ〜図４Ｄの例において、対応するシーケンスの局所コストを用いて総コストの４つの和が求められる。最適値は、ＮＣのコスト及び目的の定義に応じて、局所コストの和の最小値又は最大値とすることができる。通例、目的は総コストを最小化することであり、最適な軌道は、局所コストの和の最小値を有する軌道である。例えば、図４Ｂのシーケンスが図４Ａ、図４Ｃ及び図４Ｄのシーケンスの局所コストの各和よりも小さい総コストの和を有する場合、図４Ｂのシーケンスは最適として選択され、入力軌道を変更し及び／又は軌道を生成するのに用いられる。特に、入力軌道は入力軌道全体の様々な可能な変更を考慮することによって、大域的に、すなわち一度に変更される。
【００３２】
図５は、最適シーケンスの幾つかの点間でスプラインを当てはめることによって最適シーケンスを更に変更する本発明の１つの実施形態を示している。この例では、スプライン５１０は、シーケンスｐ１、ｐ２及びｐ３の残りの点を追跡することによって、点ｐ０とｐ４との間で当てはめられる。当てはめられたスプラインは、図５の点のシーケンスの元のポリラインとともに角度α０及びα３を形成する。この実施形態は、多くの製造物の設計に従って、軌道が、直線部分と、平滑に曲がった部分と、比較的平滑な動きの間に挟まれた方向の急激な変化を含む部分とを有する可能性が高いという認識に基づいている。
【００３３】
図６は、１つの実施形態によるスプラインを当てはめる方法のブロック図を示している。この実施形態は、ラベル６２０の所定のタイプに従って、最適シーケンスの点６１０をラベル付けする（６３０）。このラベル付けは、最終軌道において保持される点又は当てはめられたスプラインと置き換えられる点を求めるのに用いることができる。ラベル付け６３０は、全ての複数のシーケンスについて最適シーケンスを求める間に実行することもできるし、選択された最適シーケンスについてのみ実行することもできる。
【００３４】
１つの実施形態において、ラベル付けは最適シーケンスにおける複数の角点６３５及び中間点６３７を識別する。角点は、点の角度コストに基づいて求めることができる。例えば、１つの実施形態では、点は、最適シーケンス内の点によって形成される角度、例えば角度４３７が閾値未満である場合に角点である。別の実施形態では、所与の点についての角のラベル付けは、その所与の点の角度コスト及び角コストの双方を計算することによって実行される。角ラベルを割り当てた結果、コストが小さくなる場合、角ラベルが割り当てられる。幾つかの実施形態では、角点は最終軌道において保持され、中間点は、これらの中間点を追跡して角点間のスプラインを当てはめる（６４０）ことによって置き換えられる。
【００３５】
幾つかの実施形態では、ラベル付けは直線セグメント６３５も識別し、これらの直線セグメントは軌道において角点として保持される。これらの実施形態では、スプラインは、角点と、直線セグメントの点との間で、中間点を追跡して当てはめられる。次に、スプラインは再サンプリングされて（６５０）、出力点が生成され、角点、直線セグメントの点、及び出力点が軌道を定義するようにされる。幾つかの実施形態では、再サンプリングはコントローラの要求によって判断される。例えば、サンプリング間隔は、弧長において一定とすることもできるし、加速度において一定とすることもできるし、コントローラへの供給が不足することも飽和することもない送り速度で平滑な変動が生じる点を生成する任意の同様のポリシーとすることもできる。
【００３６】
図７は、１つの実施形態によるスプラインを当てはめる方法のブロック図を示している。スプライン当てはめ関数は、フィルタリングされた入力点及び角点７６０をとり、これらの点に平滑なスプラインを当てはめる。スプラインを当てはめることは、最小数の制御点７１０から開始して、制御点の値を推定することを含み、これは最小二乗フレームワーク７２０において行われる。
【００３７】
制御点を推定した後、当てはめられたスプラインからの各入力点の距離７３０が計算され、比較される（７８０）。最大距離が閾値７９０未満である場合、制御点の現在の推定値が出力として提供される（７７０）。そうでない場合、制御点の数は制御点の最大数７５０を条件として増大される（７４０）。反復手順によって、当てはめられたスプラインが、フィルタリングされた入力点群内に留まることが確保される。
【００３８】
図８Ａは、本発明の幾つかの実施形態によって用いられる距離を求める方法の概略図を示している。これらの実施形態では、当てはめられたスプライン８０２からの所与の点Ｐ８０１の距離８０５は、点Ｐ８０１と、点ｕ８０４におけるスプラインＣｕとの間の距離によって与えられる。ここで、点ｕ８０４はスプラインの局所微分Ｃ’ｕ８０３がＰ及びＣｕを接合する線に直交する点である。
【００３９】
図８Ｂは、幾つかの実施形態の原理に従って求められる軌道の例を示している。軌道は、スプライン８４０等のスプライン、線８５０等の直線によって接続される点８１０、８２０及び８３０等の角点を含む。軌道は、スプラインをサンプリングすることによって求められる出力点８６０も含むことができる。
【００４０】
図９は、本発明の１つの実施形態による、動的計画法（ＤＰ）を用いて最適シーケンスを求める例を示している。あり得るシーケンス３１５の数は入力軌道の長さとともに指数関数的に増大し、幾つかの実施形態は、動的計画法によりトップスコアのシーケンスを特定することを可能にするスコアリングシステムを用いる。動的計画法は、計算時間が、シーケンス長及びシーケンス内に生じることが許可される別個のラベル対の数に対してのみ直線的に増大する最適化方法である。
【００４１】
概念的に、１つの実施形態は、開始点９０５及び終了点９１５を有するグラフ９１０を求める。頂点９２０、９２２、９２４、９２６及び９２８等のグラフの各頂点は、決定（例えば、入力データ点へのラベルの割り当て）を表し、２つの互換性のある決定を表す全ての頂点対は、エッジ、例えばエッジ９２１、９２３、９２５、９２７、及び９２９によって接続される。全ての頂点及び全てのエッジにコストが割り当てられ、開始点から終了点への最低コスト経路を見つけることによって最適シーケンスが求められる。
【００４２】
例えば、角点としてラベル付けされる点を表す頂点は、その点をその点の先行する点及び後続の点に接続する線分が強く角度付けされている場合に低コストを有することができ、線分がほぼ共線的であるか又は極度に短い（この場合、点は外れ値である場合がある）とき、高コストを有することができる。特定のデータ点の、平滑点としてのラベル付けを表す頂点は、そのデータ点をグラフ内の先行する点及び後続の点に接続する線分が非常に浅い角度を有する場合に低コストを有することができる。グラフ内の後続の点は、入力データストリームにおける後続の点である必要はない。例えば、エッジは、データストリーム内で連続していない２つの「平滑な」データ点を表す２つの頂点を接続することができる。このエッジは、データストリーム内の介在する点が、２つの「平滑な」データ点を接続する仮想的な線に非常に近い場合に、低コストを有することができる。グラフを通じた最低コストの経路がこのエッジを通る場合、介在する点は「冗長」とラベル付けされる。入力軌道に関する追加の知識を利用するために、追加のラベル及びコスト設定ポリシーを組み込むことができる。
【００４３】
図１０Ａ、図１０Ｂ及び図１０Ｃは、ラベル付け及びコスト割り当てを示すセグメントを示している。例えば、図１０Ａにおける点１０１０を角点としてラベル付けするコストは、点１０１０を平滑点としてラベル付けするコストよりも低い。図１０Ｂにおける点１０２０を平滑点としてラベル付けするコストは、点１０２０を角点としてラベル付けするコストよりも低い。図１０Ｃに示すように、点１０３０及び点１０６０を平滑点としてラベル付けするコストは、切り捨てられた点１０４０及び１０５０が点１０３０及び１０６０を接合する線により近いので、角点コストよりも低い。
【００４４】
図９の実施形態において、グラフ９１０は、「トレリス」として知られる、各入力点のエッジの繰り返しパターンを有する高度に規則的な構造を有する。グラフは、全ての頂点において、その頂点への最低コストの経路の累計コストに加えて、その経路において先行する頂点へのポインターを記憶することによって評価される。「冗長」としてラベル付けすることができる点の最長サブシーケンスの長さが制限されている場合、グラフを構築し評価するための計算時間は、入力点ごとに一定である。最適シーケンスを或るデータ点まで特定するために、幾つかの実施形態は、そのデータ点のラベル付けを表す全ての頂点を検査し、最低の累積コストを有する頂点を選択し、次に必要なだけ遠くまでグラフを通じて後方にポインターを辿る。この経路上の頂点のシーケンスは、データ点上のラベルの最適シーケンスをもたらす。
【００４５】
この方式の計算上の利点は別として、動的計画法トレリスは、コンテキスト情報をシーケンスにおいて前方又は後方に伝播して、局所曖昧性を解消することができるという特性を有する。例えば、幾つかの軌道平滑化アルゴリズムは、５つの連続データ点の固定ウィンドウを検査する。ウィンドウアルゴリズムでは、他の４つの点によって形成される線から幾分離れている点は平滑化され得るが、動的計画法によって提供される、より大きなコンテキストでは、この点は角としてより正確にラベル付けされ得る。
【００４６】
追加のデータ点が到来するにつれ、グラフを徐々に拡張し評価することができる。同様に、グラフのより古い部分は、対応するデータ点が処理されると、特に、最適なサブシーケンスが単一の頂点（例えば明確な角）を通るとき、剪定することができる。
【００４７】
動的計画法はブロック単位で実施することができ、ブロックサイズはコントローラにおいて利用可能なメモリの量に依拠することができる。ブロックごとに、動的計画法が冗長な点と、角等の様々なラベルとを出力する。ブロックはブロック境界において、前のブロックから次のブロックへ情報を適切に伝播するように重複する可能性がある。例えば、重複ウィンドウは、前のブロックにおいて保持される最後の幾つかの点を含む可能性がある。
【００４８】
図１１は、１つの実施形態による点のシーケンスを解析する例を示している。「冗長」とラベル付けされ得る点の最長サブシーケンスの長さは、僅かな数のＷｉｎｄｏｗＳｉｚｅに限定することができる。１つの実施形態において、ＷｉｎｄｏｗＳｉｚｅは８に設定される。
【００４９】
図１１の点のシーケンスは６つの入力点を含む。点Ｐ１１１１０、Ｐ４１１４０及びＰ６１１６０は保持される点であり、点Ｐ２１１２０、Ｐ３１１３０及びＰ５１１５０は除去される。点Ｐ２を除去する局所コストはｄ１１１２５であり、これは点Ｐ１及びＰ４を接合する線からのＰ２の垂直距離である。同様に、点Ｐ３を除去する局所コストはｄ２１１３５であり、これは点Ｐ１及びＰ４を接合する線からの点Ｐ３の垂直距離であり、点Ｐ５を除去する局所コストは距離ｄ３１１５５である。
【００５０】
まず、点Ｐ４が平滑点であると仮定すると、保持される点Ｐ４における角度コストは角度θ１１４５に基づいて以下のように定義することができる。
【００５１】
Angle Cost AC(P1, P4, P6) = abs(π-θ) / π，ここでθはラジアン単位である。
【００５２】
このシーケンスの総コストは、局所コストを加算することによって得ることができ、以下によって与えられる。
【００５３】
Total cost = d1 + d2 + d3 + abs(π-θ) / π
【００５４】
さらに、このサブシーケンスについて、Ｐ４が平滑点ではなく角点であると仮定することもできる。角度θの場合の局所角コストは以下のように定義することができる。
【００５５】
Corner Cost CC(θ) = kθ，ここでｋは定数である。
【００５６】
定数ｋは、角度コスト及び角コストが所定の角度において等しくなるように選択することができる。このサブシーケンスの総コストは以下となる。
【００５７】
d1 + d2 + d3 +kθ
【００５８】
さらに、図１１のシーケンスの６つの入力点は、幾つかの他のサブシーケンスを形成することができる。例えば、点Ｐ１、Ｐ２及びＰ６を保持し、点Ｐ３、Ｐ４及びＰ５を除去することによって、別のサブシーケンスを得ることができる。全ての可能なサブシーケンスについて、総コストが求められ、最小のコストを与えるサブシーケンスが最適なサブシーケンスとして選択される。この選択は指数関数的な複雑度を有するが、動的計画法によって、限られた時間内で最適解を計算することが可能になる。
【００５９】
動作環境
本発明の様々な実施形態は、数多くの汎用又は専用コンピューティングシステム環境又は構成によって動作することができる。本発明とともに用いるのに適しているコンピューティングシステム、環境及び／又は構成の例は、限定はしないが、パーソナルコンピュータ、サーバーコンピュータ、ハンドヘルドデバイス又はラップトップデバイス、マルチプロセッサ又はマルチコアシステム、グラフィックス処理ユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ），フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、マイクロコントローラベースシステム、ネットワークＰＣ、メインフレームコンピュータ、上記のシステム又はデバイスのうちの任意のものを含む分散コンピューティング環境等、すなわち、一般的にはプロセッサを含む。
【００６０】
例えば、実施形態は、ハードウェア、ソフトウェア又はそれらの組合せを用いて実施することができる。ソフトウェアで実施される場合、ソフトウェアコードは、単一のコンピュータに設けられるのか又は複数のコンピュータ間に分散されるのかにかかわらず、任意の適したプロセッサ又はプロセッサの集合体において実行することができる。そのようなプロセッサは、１つ又は複数のプロセッサを集積回路部品に有する集積回路として実装することができる。ただし、プロセッサは、任意の適したフォーマットの回路類を用いて実装することができる。モニター又は他のタイプの表示デバイス１６０が上記のシステムのうちの任意のものに接続され、本発明の視覚化１６２を可能にする。
【００６１】
さらに、コンピュータは、ラックマウント型コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ミニコンピュータ又はタブレットコンピュータ等の複数の形態のいずれにおいても実現できる。そのようなコンピュータは、ローカルエリアネットワーク又はワイドエリアネットワークとしてエンタープライズネットワーク又はインターネット等を含む１つ又は複数のネットワークによって任意の適した形態で相互接続することができる。そのようなネットワークは、任意の適した技術に基づくことができ、任意の適したプロトコルに従って動作することができ、無線ネットワーク、有線ネットワーク又は光ファイバーネットワークを含むことができる。
【図１】
2015138549.tif 000003
【図２Ａ】
2015138549.tif 000004
【図２Ｂ】
2015138549.tif 000005
【図２Ｃ】
2015138549.tif 000006
【図３】
2015138549.tif 000007
【図４Ａ】
2015138549.tif 000008
【図４Ｂ】
2015138549.tif 000009
【図４Ｃ】
2015138549.tif 000010
【図４Ｄ】
2015138549.tif 000011
【図５】
2015138549.tif 000012
【図６】
2015138549.tif 000013
【図７】
2015138549.tif 000014
【図８Ａ】
2015138549.tif 000015
【図８Ｂ】
2015138549.tif 000016
【図９】
2015138549.tif 000017
【図１０Ａ】
2015138549.tif 000018
【図１０Ｂ】
2015138549.tif 000019
【図１０Ｃ】
2015138549.tif 000020
【図１１】
2015138549.tif 000021
【外国語明細書】
2015138549.tif 000022
2015138549.tif 000023
2015138549.tif 000024
2015138549.tif 000025
2015138549.tif 000026
2015138549.tif 000027
2015138549.tif 000028
2015138549.tif 000029
2015138549.tif 000030
2015138549.tif 000031
2015138549.tif 000032
2015138549.tif 000033
2015138549.tif 000034
2015138549.tif 000035
2015138549.tif 000036
2015138549.tif 000037
2015138549.tif 000038
2015138549.tif 000039
2015138549.tif 000040
2015138549.tif 000041
2015138549.tif 000042
2015138549.tif 000043
2015138549.tif 000044
2015138549.tif 000045
2015138549.tif 000046
2015138549.tif 000047
2015138549.tif 000048
2015138549.tif 000049
2015138549.tif 000050
2015138549.tif 000051
2015138549.tif 000052
2015138549.tif 000053
2015138549.tif 000054
2015138549.tif 000055
2015138549.tif 000056
2015138549.tif 000057
2015138549.tif 000058
2015138549.tif 000059
2015138549.tif 000060