(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-18
(45)【発行日】2025-02-27
(54)【発明の名称】装置のチューニング方法及び装置
(51)【国際特許分類】
G06F 11/36 20250101AFI20250219BHJP
G05B 13/02 20060101ALI20250219BHJP
【FI】
G06F11/3668 192
G05B13/02 A
G06F11/3668 188
(21)【出願番号】P 2023568493
(86)(22)【出願日】2022-05-20
(86)【国際出願番号】 US2022030396
(87)【国際公開番号】W WO2022246295
(87)【国際公開日】2022-11-24
【審査請求日】2023-11-07
(32)【優先日】2021-05-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100189555
【氏名又は名称】徳山 英浩
(72)【発明者】
【氏名】ゴヴァンデ,アトゥル
(72)【発明者】
【氏名】チェン,アンドリュー
(72)【発明者】
【氏名】ク,スアンヴ
(72)【発明者】
【氏名】サッタリ,シナ
【審査官】児玉 崇晶
(56)【参考文献】
【文献】特開平04-302306(JP,A)
【文献】特開平07-107766(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G05B 13/02
H02P 29/00
(57)【特許請求の範囲】
【請求項1】
装置をチューニングするためのシステムであって、
ユーザインタフェースと、
少なくとも1つのプロセッサと、
コンピュータ実行可能命令を記憶するメモリと、
を備え、
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、
1以上の第1パラメータを取得させ、
第1テストを特定させ、
前記装置に各パラメータおよび各テストを提供するための1以上のチューニング間隔を示すチューニングスケジュールを決定させ、
前記第1テストと
、前記チューニングスケジュールと、前記1以上の第1パラメータとに基づいて、前記装置のチューニングプロセスを開始させ、
前記チューニングプロセスの開始に応答して、
前記第1テストと前記1以上の第1パラメータとを
、前記チューニングスケジュールに従って、前記装置に提供させ、
前記第1テストと前記1以上の第1パラメータを前記装置に提供することに基づいて、前記装置からチューニング結果を取得させ、
前記ユーザインタフェースのディスプレイを介して前記チューニング結果の少なくとも一部を表示させ、
前記第1テストと前記1以上の第1パラメータとを前記装置に提供した後に、第2テスト及び/又は1以上の第2パラメータを
、前記チューニングスケジュールに従って、前記装置に自動的に提供させる、
システム。
【請求項2】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、
前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に提供することに基づいて、追加のチューニング結果を取得させ、
前記ユーザインタフェースのディスプレイを介して、前記追加のチューニング結果の少なくとも一部を表示させる、請求項1に記載のシステム。
【請求項3】
前記1以上の第2パラメータは、前記1以上の第1パラメータを含む、請求項1に記載のシステム。
【請求項4】
前記1以上の第2パラメータと前記1以上の第1パラメータとは、異なるパラメータである、請求項1に記載のシステム。
【請求項5】
前記第1テストと前記第2テストとは、異なるテストである、請求項1に記載のシステム。
【請求項6】
前記第2テストと前記第1テストとは、同じテストである、請求項1に記載のシステム。
【請求項7】
前記第1テストは、
ステップテスト、
ランプテスト、
放物線速度テスト、
台形速度テスト、
S字曲線速度テスト、
正弦波テスト、
正弦波スイープテスト、
ユーザ定義テスト、
のうちの少なくとも1つを含む、請求項1に記載のシステム。
【請求項8】
前記第1テストは、移動サイズ、移動速度、及び移動プロファイルを含む、請求項1に記載のシステム。
【請求項9】
前記1以上の第1パラメータは、
比例ゲイン、
微分ゲイン、
速度フィードフォワードゲイン、
積分ゲイン、
加速度フィードフォワードゲイン、
摩擦フィードフォワードゲイン、
のうちの少なくとも1つを含む、請求項1に記載のシステム。
【請求項10】
前記1以上の第1パラメータは、1以上のハードウェアパラメータを含み、
前記1以上のハードウェアパラメータは、前記装置の1以上のハードウェア部品、前記装置と前記システムとの間の接続、又は、前記装置と部品との間の接続のうちの少なくとも1つに基づく、請求項1に記載のシステム。
【請求項11】
前記第2テスト及び/又は前記1以上の第2パラメータを提供するために、前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、前記チューニングプロセスを再始動することなく、前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供させる、請求項1に記載のシステム。
【請求項12】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、更に、前記少なくとも1つのプロセッサに、前記ユーザインタフェースを介して前記1以上の第1パラメータを取得させる、請求項1に記載のシステム。
【請求項13】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、
前記ユーザインタフェースを介してユーザ入力を受信させ、
前記ユーザ入力に基づいて前記チューニングプロセスを開始させる、請求項1に記載のシステム。
【請求項14】
前記第2テスト及び/又は前記1以上の第2パラメータを提供するために、前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、前記ユーザインタフェースを介して追加のユーザ入力を受けることなく、前記第2テスト及び/又は前記1以上の第2パラメータを自動的に提供させる、請求項13に記載のシステム。
【請求項15】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、更に、前記少なくとも1つのプロセッサに、前記装置からのデータストリームを介して前記チューニング結果を取得させる、請求項1に記載のシステム。
【請求項16】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、
前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供する前に、前記第2テスト及び/又は前記1以上の第2パラメータを定義するユーザ入力が取得されていないことを判断させ、
前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供する前に、前記ユーザ入力が得られていないと判断することに基づいて、前記第1テスト及び/又は前記1以上の第1パラメータを前記装置に再提供させる、
請求項1に記載のシステム。
【請求項17】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供する前に、ユーザ入力が取得されたと判断させ、
前記ユーザ入力は、前記第2テスト又は前記1以上の第2パラメータの少なくとも一方を特定し、
前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供することは、前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供する前に、ユーザ入力が取得されたと判断することに基づいており、
前記第1テストと前記第2テストとが異なるテストであるか、又は、前記1以上の第1パラメータと前記1以上の第2パラメータとが異なるパラメータである、請求項1に記載のシステム。
【請求項18】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、
前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供する前に、ユーザ入力が取得されていないと判断させ、前記第1テスト及び前記1以上の第1パラメータを前記装置に提供することは、前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供する前に、前記ユーザ入力が取得されていないと判断することに基づいており、前記1以上の第2パラメータは、前記1以上の第1パラメータを含み、且つ、前記第2テストと前記第1テストとは同じテストであり、
前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に提供することに基づいて、追加のチューニング結果を取得させ、
前記ユーザインタフェースのディスプレイを介して前記追加のチューニング結果の少なくとも一部を表示させて、1以上の第3パラメータ及び第3テストを特定させ、
前記1以上の第3パラメータ及び前記第3テストを特定することに基づいて、前記第3テスト及び前記1以上の第3パラメータを前記装置に自動的に提供させ、前記第1テスト及び前記第3テストの少なくとも1つが異なるテストであるか、又は、前記1以上の第1パラメータ及び前記1以上の第3パラメータが異なるパラメータである、請求項1に記載のシステム。
【請求項19】
前記1以上の第1パラメータ及び前記第1テストが、
前記チューニングスケジュールの第1チューニング間隔中に前記装置に提供され、前記第2テスト及び/又は前記1以上の第2パラメータが、前記チューニングスケジュールの第2チューニング間隔中に提供され、前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行が、更に、前記少なくとも1つのプロセッサに、
前記第1チューニング間隔に続いて前記第2チューニング間隔の前に、1以上の第3パラメータを取得させ、
前記1以上の第3パラメータを記憶させ、
前記第1チューニング間隔の後、前記第2チューニング間隔の前に、前記1以上の第3パラメータを取得した後に、前記1以上の第2パラメータを取得させ、
前記1以上の第3パラメータを前記1以上の第2パラメータに置き換えさせ、
前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供することは、前記1以上の第3パラメータを前記1以上の第2パラメータに置き換えることに基づいており、前記1以上の第3パラメータは、前記装置をチューニングするために利用されない、請求項1に記載のシステム。
【請求項20】
前記装置は、サーボモータである、請求項1に記載のシステム。
【請求項21】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、更に、前記少なくとも1つのプロセッサに、メモリから前記1以上の第2パラメータを取得させる、請求項1に記載のシステム。
【請求項22】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、
前記1以上の第1パラメータをメモリに記憶させ、
前記1以上の第2パラメータを取得させ、
前記1以上の第2パラメータを取得することに基づいて、前記メモリ内の前記1以上の第1パラメータを前記1以上の第2パラメータに置き換えさせる、請求項21に記載のシステム。
【請求項23】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、
前記1以上の第1パラメータと、
前記第1テストに関連するデータと、
前記チューニング結果の少なくとも一部と、
を表示させる、請求項1に記載のシステム。
【請求項24】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、前記チューニングプロセスの開始に応答して、対応するテスト及び1以上の対応するパラメータを前記装置に定期的に提供させる、請求項1に記載のシステム。
【請求項25】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、
前記チューニングプロセスが中止されたと判断させ、
前記チューニングプロセスが中止されたと判断したことに基づいて、前記対応するテスト及び前記1以上の対応するパラメータを前記装置に定期的に提供することを中止させる、請求項24に記載のシステム。
【請求項26】
前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行は、前記少なくとも1つのプロセッサに、更に、ユーザ入力を取得させ、前記ユーザ入力に基づいて前記チューニングプロセスが中止されることを判断させる、請求項25に記載のシステム。
【請求項27】
前記第1テスト及び前記1以上の第1パラメータを提供するために、前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行が、少なくとも1つのプロセッサに、更に、前記チューニングスケジュールに基づく第1期間中に、前記第1テスト及び前記1以上の第1パラメータを前記装置に提供させ、
前記第2テスト及び/又は前記1以上の第2パラメータを自動的に提供するために、前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行が、前記少なくとも1つのプロセッサに、更に、前記チューニングスケジュールに基づく第2期間中に、前記第2テスト及び/又は前記1以上の第2パラメータを前記装置に自動的に提供させる、請求項1に記載のシステム。
【請求項28】
前記装置は、前記1以上の第1パラメータ及び前記第1テストに基づいて前記チューニング結果を生成する、請求項1に記載のシステム。
【請求項29】
非一過性のコンピュータ可読記憶媒体であって、実行されると、少なくとも1つのコンピューティング装置に、
各パラメータおよび各テストの1以上のチューニング間隔を示すチューニングスケジュールに従って、1以上のパラメータを取得させ、
前記チューニングスケジュールに従って、テストを
取得させ、
前記テスト
、前記チューニングスケジュール、及び前記1以上のパラメータに基づいて装置のチューニングプロセスを開始させ、
前記チューニングプロセスの開始に応答して、定期的に、前記装置の前記1以上のパラメータを使用して前記テストを実行させ、前記テスト及び前記1以上のパラメータを前記装置に提供することに基づいて前記装置からチューニング結果を取得させ、前記チューニング結果の少なくとも一部をユーザインタフェースのディスプレイに表示させる、 命令を記憶した非一過性のコンピュータ可読記憶媒体。
【請求項30】
少なくとも1つのプロセッサを備えるチューニングシステムを用いて装置をチューニングする方法であって、
前記少なくとも1つのプロセッサに、
各パラメータおよび各テストの1以上のチューニング間隔を示すチューニングスケジュールに従って、1以上のパラメータを取得
させ、
前記チューニングスケジュールに従って、テストを特定
させ、
前記テストと
前記チューニングスケジュールと前記1以上のパラメータとに基づいて前記装置のチューニングプロセスを開始
させ、
前記チューニングプロセスの開始に応答して、定期的に、
前記装置で前記1以上のパラメータを使用して前記テストを実行し、前記テストと前記1以上のパラメータとを前記装置に提供することに基づいて、前記装置からチューニング結果を取得し、前記チューニング結果の少なくとも一部をユーザインタフェースのディスプレイに表示させる
ことを含む、方法。
【請求項31】
少なくとも1つのプロセッサを備えるチューニングシステムを用いて装置をチューニングする方法であって、
前記少なくとも1つのプロセッサに、
各パラメータのチューニング間隔を示すチューニングスケジュールに従って、1以上の第1パラメータを取得
させ、
前記1以上の第1パラメータを使用して前記装置に第1テストを実施
させ、
前記第1テストからテスト結果を出力
させ、
前記第1テストの実施中に、
前記チューニングスケジュールに従って、前記1以上の第1パラメータとは異なる前記1以上の第2パラメータを取得
させ、
前記1以上の第1パラメータを使用して前記第1テストが終了する間に、1以上の第2パラメータを記憶
させ、
前記第1テストの完了後、前記1以上の第2パラメータを使用して前記装置に第2テストを自動的に実施
させ、
前記第2テストからテスト結果を出力
させることを含む、方法。
【請求項32】
前記少なくとも1つのプロセッサに、ユーザインタフェースを介して前記1以上の第2パラメータを取得
させることを含む、請求項31に記載の方法。
【請求項33】
前記少なくとも1つのプロセッサに、前記1以上の第2パラメータを取得
させる前に、前記1以上の第1パラメータを使用して前記装置に対して複数のテストを実行
させることを含む、請求項31に記載の方法。
【請求項34】
前記少なくとも1つのプロセッサに、前記第1テストの実施中であって前記1以上の第2パラメータを取得
させる前に、1以上の中間パラメータを取得
させることを含み、前記1以上の第2パラメータ
を、前記中間パラメータがテストで使用される前に、前記1以上の中間パラメータと置き換
えさせることを含む、請求項31に記載の方法。
【請求項35】
前記少なくとも1つのプロセッサに、前記第1テストの実施中に、前記第1テストのテスト結果データを転送
させることを含む、請求項31に記載の方法。
【請求項36】
前記少なくとも1つのプロセッサに、前記装置と
前記チューニングシステムとの間でデータストリームを使用して前記第1テストのテスト結果データを転送
させることを含む、請求項31に記載の方法。
【請求項37】
前記少なくとも1つのプロセッサに、テスト結果データをファイルに保存することなく、前記第1テストのテスト結果データを転送
させることを含む、請求項31に記載の方法。
【請求項38】
前記少なくとも1つのプロセッサに、テスト結果を前記装置の第1揮発性メモリから
前記チューニングシステムの第2揮発性メモリに転送
させることを含む、請求項31に記載の方法。
【請求項39】
装置をチューニングするための
チューニングシステムであって、
少なくとも1つのプロセッサと、
コンピュータ実行可能命令を記憶するメモリであって、前記少なくとも1つのプロセッサによる前記コンピュータ実行可能命令の実行により、前記少なくとも1つのプロセッサに請求項31に記載の方法を実行させる、メモリと、
を備える、システム。
【請求項40】
実行されると、少なくとも1つのコンピューティング装置に請求項31に記載の方法を実行させる、命令を記憶する、非一過性のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願との相互参照)
本出願は、2021年5月21日に出願された米国仮出願第63/191,882号の利益を主張するものであり、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般的に、ロボットシステムで使用されるモータのチューニングなど、装置のチューニングに関する。
【背景技術】
【0003】
装置(モータなど)は、タスクを実行及び/又は自動化するために使用される。装置は、移動ロボットがタスクを実行できるようにするための複数の電子機器を含み得る。装置の特定の動作を可能にするために、装置がチューニングされ得る。一例として、装置は、チューニングのためにコンピューティング装置に接続され得る。装置は、チューニングされた後、特定の操作を実行することができる。
【発明の概要】
【0004】
本開示の1つの態様は、モータのライブチューニングのためのシステムである。システムは、第1システムと第2システムとを備える。第1システムは、チューニングツールと、そこで実行されるように構成された関連アプリケーションとを備える。関連アプリケーションは、チューニングアプリケーションと、チューニングに関連するデータを収集するミドルウェアアプリケーションと、第2システムにデータをストリーミングするネットワーキングプログラムとを含んでもよい。第2システムは、そのネットワークプログラムを通じて第1システムからストリーミングされるデータを受信するためのネットワークプログラムを含んでもよい。第2システムは、受信データを例えば数値又はグラフ形式で表示し、ユーザがチューニングプロセスを開始又は停止してチューニングに関連する設定又はパラメータを調整できるようにするための、ユーザインタフェース(UI)アプリケーションを含んでもよい。更に、第2システムは、例えば、ネットワーキングプログラムが、第2システムの装置で実行されているOSとは異なるオペレーティングシステム(OS)用に設計されている場合、第2システムの装置でネットワーキングプログラムを実行させるためのプログラムを含んでもよい。
【0005】
本開示の別の態様において、モータのライブチューニング方法が開示される。本方法は、モータのチューニングプロセスを開始する要求を示すデータを受信し、第1システムと第2システムとの間にデータ接続を作成することを含む。第1システムは、チューニングツールに関連付けられ、第2システムは、データを表示及び受信するためのUIに関連付けられる。本方法は、更に、第1システムにおいて、及び第2システムから、チューニングプロセスに関連する1以上の設定又はパラメータに関するデータを受信し、1以上の設定又はパラメータに基づいてチューニング移動を実行し、第1システムから第2システムへ、チューニング移動の結果に関するデータを送信することを含んでもよい。
【0006】
本開示の別の態様において、モータのライブチューニング方法を実行するように構成された装置が開示される。本装置は、プロセッサと、1以上の命令を記憶するように構成された記憶装置とを備える。1以上の命令は、プロセッサによって実行されると、モータのライブチューニングの方法を実行するように構成されている。
【0007】
本開示の1つの態様は、装置をチューニングするためのシステムである。システムは、ユーザインタフェースと、少なくとも1つのプロセッサと、少なくとも1つのプロセッサによって実行されるコンピュータ実行可能命令を記憶するメモリとを含む。少なくとも1つのプロセッサは、1以上の第1パラメータを取得する。更に、少なくとも1つのプロセッサは、第1テストを特定する。少なくとも1つのプロセッサは、第1テスト及び1以上の第1パラメータに基づいて、装置のチューニングプロセスを開始する。チューニングプロセスの開始に応答して、少なくとも1つのプロセッサは、第1テスト及び1以上の第1パラメータを装置に提供し、装置から、第1テスト及び1以上の第1パラメータを装置に提供することに基づくチューニング結果を取得し、ユーザインタフェースのディスプレイを介してチューニング結果の少なくとも一部を表示させ、第1テスト及び1以上の第1パラメータを装置に提供した後、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供する。
【0008】
本開示の別の態様において、少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に提供することに基づいて、追加のチューニング結果を取得してもよい。更に、少なくとも1つのプロセッサは、ユーザインタフェースのディスプレイを介して、追加のチューニング結果の少なくとも一部を表示させてもよい。
【0009】
本開示の別の態様において、1以上の第2パラメータは、1以上の第1パラメータを含む。
【0010】
本開示の別の態様において、1以上の第2パラメータと1以上の第1パラメータとは、異なるパラメータである。
【0011】
本開示の別の態様において、第1テストと第2テストとは、異なるテストである。
【0012】
本開示の別の態様において、第2テストと第1テストとは、同じテストである。
【0013】
本開示の別の態様において、第1テストは、ステップテスト、ランプテスト、放物線速度テスト、台形速度テスト、S字曲線速度テスト、正弦波テスト、正弦波スイープテスト、ユーザ定義テストのうちの少なくとも1つを含む。
【0014】
本開示の別の態様において、第1テストは、移動サイズ、移動速度、及び移動プロファイルを含む。
【0015】
本開示の別の態様において、1以上の第1パラメータは、比例ゲイン、微分ゲイン、速度フィードフォワードゲイン、積分ゲイン、加速度フィードフォワードゲイン、摩擦フィードフォワードゲインのうちの少なくとも1つを含む。
【0016】
本開示の別の態様において、1以上の第1パラメータは、1以上のハードウェアパラメータを含む。1以上のハードウェアパラメータは、装置の1以上のハードウェア部品、装置とシステムとの間の接続、又は装置と部品との間の接続のうちの少なくとも1つに基づいてもよい。
【0017】
本開示の別の態様において、少なくとも1つのプロセッサは、チューニングプロセスを再始動することなく、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供してもよい。
【0018】
本開示の別の態様において、少なくとも1つのプロセッサは、ユーザインタフェースを介して1以上の第1パラメータを取得してもよい。
【0019】
本開示の別の態様において、少なくとも1つのプロセッサは、ユーザインタフェースを介してユーザ入力を受け取ってもよい。更に、少なくとも1つのプロセッサは、ユーザ入力に基づいてチューニングプロセスを開始してもよい。
【0020】
本開示の別の態様において、少なくとも1つのプロセッサは、ユーザインタフェースを介してユーザ入力を受けることなく、第2テスト及び/又は1以上の第2パラメータを自動的に提供してもよい。
【0021】
本開示の別の態様において、少なくとも1つのプロセッサは、装置からのデータストリームを介してチューニング結果を取得してもよい。
【0022】
本開示の別の態様において、少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供する前に第2テスト及び/又は1以上の第2パラメータを定義するユーザ入力が取得されていないと判断してもよい。更に、少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供する前にユーザ入力が取得されていないと判断することに基づいて、第1テスト及び1以上の第1パラメータを装置に再提供してもよい。
【0023】
本開示の別の態様において、少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供する前にユーザ入力が取得されたと判断してもよい。更に、ユーザ入力は、第2テスト又は1以上の第2パラメータの少なくとも1つを特定してもよい。少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供する前にユーザ入力が取得されたと判断することに基づいて、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供してもよい。第1テストと第2テストとは異なるテストであってもよいし、1以上の第1パラメータと1以上の第2パラメータとは異なるパラメータを含んでもよい。
【0024】
本開示の別の態様において、少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供する前に、ユーザ入力が取得されていないと判断してもよい。少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供する前に、ユーザ入力が取得されていないと判断することに基づいて、第1テスト及び1以上の第1パラメータを装置に提供してもよい。1以上の第2パラメータは1以上の第1パラメータを含んでもよく、第2テストと第1テストとは同じテストであってもよい。少なくとも1つのプロセッサは、第2テスト及び/又は1以上の第2パラメータを装置に提供することに基づいて、追加のチューニング結果を取得してもよい。更に、少なくとも1つのプロセッサは、ユーザインタフェースのディスプレイを介して、追加のチューニング結果の少なくとも一部を表示させてもよい。少なくとも1つのプロセッサは、1以上の第3パラメータと第3テストとを特定してもよい。更に、少なくとも1つのプロセッサは、1以上の第3パラメータ及び第3テストを特定することに基づいて、第3テスト及び1以上の第3パラメータを装置に提供してもよい。第1テストと第3テストとは異なるテストであってもよいし、1以上の第1パラメータと1以上の第3パラメータとは異なるパラメータを含んでもよい。
【0025】
本開示の別の態様において、1以上の第1パラメータ及び第1テストは、チューニングスケジュールの第1チューニング間隔中に装置に提供されてもよく、第2テスト及び/又は1以上の第2パラメータは、チューニングスケジュールの第2チューニング間隔中に提供されてもよい。更に、少なくとも1つのプロセッサは、第1チューニング間隔の後、第2チューニング間隔の前に、1以上の第3パラメータを取得し、1以上の第3パラメータを記憶してもよい。少なくとも1つのプロセッサは、1以上の第3パラメータを取得した後に、第1チューニング間隔の後、第2チューニング間隔の前に、1以上の第2パラメータを取得し、1以上の第3パラメータを1以上の第2パラメータに置き換えてもよい。更に、少なくとも1つのプロセッサは、1以上の第3パラメータを1以上の第2パラメータに置き換えることに基づいて、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供してもよい。更に、1以上の第3パラメータは、装置をチューニングするために利用されなくてもよい。
【0026】
本開示の別の態様において、装置は、サーボモータである。
【0027】
本開示の別の態様において、少なくとも1つのプロセッサは、メモリから1以上の第2パラメータを取得してもよい。
【0028】
本開示の別の態様において、少なくとも1つのプロセッサは、1以上の第1パラメータをメモリに記憶してもよい。更に、少なくとも1つのプロセッサは、1以上の第2パラメータを取得してもよい。少なくとも1つのプロセッサは、1以上の第2パラメータを取得することに基づいて、1以上の第1パラメータをメモリ内の1以上の第2パラメータに置き換えてもよい。
【0029】
本開示の別の態様において、少なくとも1つのプロセッサは、1以上の第1パラメータ、第1テストに関連するデータ(例えば、テストの種類)、及び/又はチューニング結果の少なくとも一部を表示させてもよい。
【0030】
本開示の別の態様において、少なくとも1つのプロセッサは、チューニングプロセスの開始に応答して、対応するテスト及び1以上の対応するパラメータを装置に定期的に提供してもよい。
【0031】
本開示の別の態様において、少なくとも1つのプロセッサは、チューニングプロセスが中止されたことを判断してもよい。更に、少なくとも1つのプロセッサは、チューニングプロセスが中止されたと判断することに基づいて、対応するテスト及び1以上の対応するパラメータを装置に定期的に提供することを中止してもよい。
【0032】
本開示の別の態様において、少なくとも1つのプロセッサは、ユーザ入力を取得してもよい。更に、少なくとも1つのプロセッサは、ユーザ入力に基づいて、チューニングプロセスが中止されたと判断してもよい。
【0033】
本開示の別の態様において、少なくとも1つのプロセッサは、チューニングスケジュールを決定してもよい。更に、少なくとも1つのプロセッサは、チューニングスケジュールに基づく第1期間中に、第1テスト及び1以上の第1パラメータを装置に提供してもよい。少なくとも1つのプロセッサは、更に、チューニングスケジュールに基づく第2期間中に、第2テスト及び/又は1以上の第2パラメータを装置に自動的に提供してもよい。
【0034】
本開示の別の態様において、装置は、1以上の第1パラメータ及び第1テストに基づいて、チューニング結果を生成してもよい。
【0035】
本開示の別の態様において、非一過性のコンピュータ可読記憶媒体が開示される。非一過性のコンピュータ可読媒体は、実行されると、少なくとも1つのコンピューティング装置に1以上のパラメータを取得させることができる、命令を記憶する。更に、コンピュータ装置は、テストを特定する。コンピューティング装置は、テスト及び1以上のパラメータに基づいて、装置のチューニングプロセスを開始する。定期的に、チューニングプロセスの開始に応答して、定期的に、コンピューティング装置は、テスト及び1以上のパラメータを装置に提供し、装置から、テスト及び1以上のパラメータを装置に提供することに基づくチューニング結果を取得し、ユーザインタフェースのディスプレイを介してチューニング結果の少なくとも一部を表示させる。
【0036】
本開示の別の態様において、1以上のパラメータを取得することを含む方法が開示される。本方法は、更に、テストを特定することを含む。本方法は、更に、テスト及び1以上のパラメータに基づいて装置のチューニングプロセスを開始する。本方法は、チューニングプロセスの開始に応答して、定期的に、テスト及び1以上のパラメータを装置に提供し、装置から、テスト及び1以上のパラメータを装置に提供することに基づくチューニング結果を取得し、ユーザインタフェースのディスプレイを介してチューニング結果の少なくとも一部を表示させることを含む。
【0037】
本開示の別の態様において、1以上の第1パラメータを取得することを含む、装置をチューニングする方法が開示される。本方法は、1以上の第1パラメータを使用して装置に第1テストを実行することを含む。更に、本方法は、第1テストからテスト結果を出力することを含む。本方法は、第1テストの実施中に、1以上の第1パラメータとは異なる1以上の第2パラメータを取得することを含む。本方法は、1以上の第1パラメータを使用して第1テストが終了する間に、1以上の第2パラメータを記憶することを含む。本方法は、更に、第1テストの完了後、1以上の第2パラメータを使用して装置に第2テストを自動的に実行することを含む。本方法は、第2テストの結果を出力することを含む。
【0038】
本開示の別の態様において、本方法は、ユーザインタフェースを介して1以上の第2パラメータを取得することを更に含んでもよい。
【0039】
本開示の別の態様において、本方法は、1以上の第2パラメータを取得する前に、1以上の第1パラメータを使用して装置に対して複数のテストを実行することを更に含んでもよい。
【0040】
本開示の別の態様において、本方法は、第1テストの実施中及び1以上の第2パラメータを取得する前に、1以上の中間パラメータを取得することを更に含んでもよい。1以上の第2パラメータは、中間パラメータがテストで使用される前に、1以上の中間パラメータと置き換わってもよい。
【0041】
本開示の別の態様において、本方法は、第1テストの実施中に第1テストのテスト結果データを転送することを更に含んでもよい。
【0042】
本開示の別の態様において、本方法は、装置とチューニングシステムとの間のデータストリームを使用して第1テストのテスト結果データを転送することを更に含んでもよい。
【0043】
本開示の別の態様において、本方法は、テスト結果データをファイルに保存することなく、第1テストのテスト結果データを転送することを更に含んでもよい。
【0044】
本開示の別の態様において、本方法は、テスト結果を装置上の第1揮発性メモリからチューニングシステム上の第2揮発性メモリに転送することを更に含んでもよい。
【0045】
本開示の別の態様において、装置をチューニングするシステムが開示されている。システムは、少なくとも1つのプロセッサと、コンピュータ実行可能命令を記憶するメモリとを含んでもよい。少なくとも1つのプロセッサによるコンピュータ実行可能命令の実行は、少なくとも1つのプロセッサに、上述したような方法を実行させることができる。
【0046】
本開示の別の態様において、非一過性のコンピュータ可読記憶媒体が開示されている。非一過性のコンピュータ可読記憶媒体は、実行されると、少なくとも1つのコンピューティング装置に上述したような方法を実行させることができる命令を記憶することができる。
【0047】
前述した要約は、例示であり、限定することを意図するものではない。本出願に記載されたシステム、装置、及び方法、並びに/又は他の主題の他の態様、特徴、及び利点は、以下に記載される教示において明らかになるであろう。前記要約は、本開示の概念の一部を紹介するために提供されている。前記要約は、本明細書に記載される主題の重要な特徴又は本質的な特徴を特定することを意図するものではない。
【図面の簡単な説明】
【0048】
例示の目的で様々な実施例が添付図面に描かれているが、決して実施例の範囲を限定するものとして解釈されるべきではない。異なる開示された実施例の様々な特徴を組み合わせて、本開示の一部である付加的な実施例を構成してもよい。
【0049】
【
図1】本開示の態様に係る、装置をチューニングするためのコンピューティング装置を備える環境例を示す図である。
【
図2】本開示のいくつかの実施形態に係る、モータのライブチューニングに関連するワークフローを示す図である。
【
図3】本開示のいくつかの実施形態に係る、モータのライブチューニングに関連するユーザインタフェース(UI)を示す図である。
【
図4】本開示のいくつかの実施形態に係る、モータのライブチューニングに関連するユーザインタフェース(UI)を示す図である。
【
図5】いくつかの実施形態に係る、装置をチューニングするためのルーチン例のフローチャートである。
【発明を実施するための形態】
【0050】
一般的に説明すると、本開示は、チューニングシステムを使用して装置(例えば、モータ、機械、コンピューティング装置、エンジン、チップ、又は任意の他の装置)をチューニングするためのチューニング方法及び装置に関する。例えば、チューニングシステムは、移動ロボットのステータモータ、自動車のエンジン、電子制御ユニットのチップなどをチューニングすることができる。装置をチューニングすることによって、チューニングシステムは、装置が性能閾値を満たすか又は超えるように装置の性能を調整することができる。チューニングシステムは、装置のチューニングパラメータや設定(ゲインなど)をチューニングすることによって、装置の性能を調整することができる。
【0051】
本明細書で説明するチューニング方法及び装置は、チューニングシステムが、テスト(例えば、チューニング動作又は反復)及び/又はチューニングパラメータ(例えば、チューニング動作又は反復を実行するためのパラメータなど)に基づいて装置を連続的に(例えば、自動的及び/又は定期的に)チューニングするためのチューニングプロセスを開始することを可能にする一方で、チューニングシステムが更新又は修正されたテスト及び/又はチューニングパラメータをオンザフライで提供することを可能にする。チューニングシステムは、ユーザコンピューティング装置を介して受信したユーザ入力に応答して、チューニングプロセスを開始することができる。本明細書で説明するように、ユーザコンピューティング装置は、チューニングプロセスを再始動することなくモータをチューニングするために、テスト(例えば、装置による実行のためのチューニング動作又は反復を特定するデータ(命令又はコマンド)及び/又はチューニングパラメータ(例えば、装置がどのようにチューニング動作又は反復を実行するかを特定するパラメータ)をモータに定期的に送信することができる。更に、ユーザコンピューティング装置は、チューニングプロセスを停止することなく、テスト及び/又はチューニングパラメータを定期的に送信して、データをファイルに書き込み、更なる処理又は新しいチューニングプロセスの開始のために記憶装置に保存することができる。チューニングプロセスを再開することなくテスト及び/又はチューニングパラメータを装置に自動的且つ定期的に送信することによって、装置の「ライブ」又は「インタラクティブ」チューニングは、装置のチューニング時間を短縮することができる。従って、ライブチューニングを行うことによって、装置のチューニングの効率及びスピードを向上させることができる。本明細書で使用されるように、装置のチューニングは、一般的に装置によって特定の性能レベル又は出力が達成されるまで(例えば、装置の性能レベルが性能閾値を満たすか又は超えるまで)、制御ループ内の装置に関連する様々なタイプのパラメータ(例えば、ゲイン)を調整するプロセスを含んでもよい。
【0052】
一例として、チューニングシステムは、モータ(例えば、ステータモータ)のライブチューニングのためのチューニングプロセスを実行することができる。例えば、モータは、移動ロボット、水平多関節ロボット(「SCARA」)などを備えたシステムを含むが、これらに限定されないロボットシステムで利用されるモータであってもよい。
【0053】
従来の多くの場合、装置をチューニングするために一般的なチューニングプロセスを実施しても、特定の状況や特定のユーザにとって満足のいく結果が得られないことがある。このような一般的なチューニングプロセス(例えば、反復チューニングプロセス)には、各反復又はテストに対してチューニングプロセスを開始及び停止することが含まれる。例えば、一般的なチューニングプロセスは、チューニングプロセスを開始し、テスト及び/又はパラメータをモータに提供すること、チューニング結果を取得すること、チューニング結果を表示させること、及び最初の反復又はテストのチューニング結果に基づいて更新されたテスト及び/又はパラメータで更新されたチューニングプロセスを開始することを含み得る。テスト及び/又はパラメータの各修正は、チューニングプロセスの再始動に基づいて実施される。例えば、ユーザコンピューティング装置は、更新されたテスト及び/又はパラメータを提供し、チューニングプロセスの再開を要求する。いくつかの実施形態において、更新されたテスト及び/又はパラメータを用いてチューニングプロセスを反復的に再開することを回避するために、パラメータは、予め決められる可能性がある。例えば、装置がモータ、エンコーダ、及びドライブを備え、それらが単一のベンダーから1つのパッケージとして提供される場合、パラメータは、エンコーダ及びドライブの既知の設定に基づいて予め決められる可能性がある。これは、予め決められたパラメータが、性能閾値を下回る装置の性能を引き起こす場合、不満足であることが判明する可能性がある。例えば、装置は、予め決められたパラメータを有するが、当該予め決められたパラメータは、性能閾値を下回る性能を引き起こす可能性、或いは、異なるパラメータのセットによって引き起こされる性能を下回る性能を引き起こす可能性がある。
【0054】
装置(例えば、電気機械モータ)のチューニングプロセスは、時間及び手間がかかり、特定の性能閾値を超える又は満たす装置の性能レベルを達成するための「試行錯誤」アプローチを含む場合がある。試行錯誤アプローチは、チューニングプロセスの複数回の反復を実施することを含み、各反復は、特定の性能閾値を超える又は満たす性能に対応するパラメータを決定するために、更新されたテスト又は更新されたパラメータセットを含む。チューニングプロセスの各反復は、チューニングプロセスを開始し、(例えば、入出力装置を介して受信したユーザ入力に基づいて)更新されたパラメータセット及び/又は更新されたテストを提供することを含み得る。例えば、ユーザは、チューニングプロセスを開始するチューニングシステムの入出力装置(タッチスクリーン、ボタンなど)と相互作用することができる。ユーザは、装置の性能が性能閾値(例えば、予め決められた性能基準)を満たすか又は超えるまで、チューニングプロセスを再開することによって、反復プロセスを繰り返し得る。このような反復的なチューニングプロセスは、リソースの浪費及び時間の浪費を招き得る。
【0055】
従来の試行錯誤アプローチの一例として、サーボモータをチューニングするための「サーボチューニング」プロセスがある。本明細書で使用されるサーボモータとは、一般的に、サーボモータに供給される電流及び電圧に基づいてトルク及び速度を発生させることができる電気機械装置をいう。サーボチューニングプロセスは、サーボモータのチューニングのために、サーボモータシステムに関連するモーションコントローラの各種パラメータを調整することを含み得る。サーボモータチューニングプロセスは、サーボモータの性能が性能閾値を超えるか又は満たすようにするパラメータのセットを特定するために、チューニングプロセスの多数の反復が実施される可能性があるため、時間がかかる可能性がある。チューニングプロセスの各反復は、設定又はパラメータの変更、チューニングプロセスの停止、各反復に関連するデータのファイルへの書き込み、データの保存などのための介入を含み得る。例えば、チューニングプロセスの各反復は、チューニングを開始するためにユーザ入力を取得すること(例えば、入出力装置を介して)、チューニングデータが収集され処理された後にチューニングプロセスの反復の結果を提供すること(例えば、チューニング反復の結果は、コンピューティング装置のディスプレイを介して表示される)、更新されたパラメータを取得すること、及びチューニングプロセスを再開するために追加のユーザ入力を取得すること、及びチューニングプロセスの新たな反復の結果を提供することを含み得る。従来の試行錯誤アプローチには、関連データ(例えば、テスト結果データ)をファイルに書き込むこと、当該ファイルをサーバにアップロードすること、関連データを生成するために当該ファイルを取得して処理できるようにすること、及び/又は、グラフィカルユーザインタフェース(GUI)を介してレンダリング/表示することが含まれる。
【0056】
装置(モータ、エンジン、コンピューティング装置など)の普及に伴い、より高速で効率的なチューニングへの要求が高まっている。本開示は、従来例と比較して大きな利点を有する、装置をチューニングするためのチューニングシステムを提供する。本開示は、従来例と比較して、チューニング時に装置の速度又は消費電力に大きな影響を与えることなく、装置の性能が性能閾値を満たすか又は超えるように、装置のパラメータセットを特定するための時間及びユーザインタラクションの削減を可能にするシステム及び方法を提供する。これらの利点は、本明細書で議論される実施形態によって、特に、チューニングシステムが装置を継続的にチューニングすることを可能にするライブ又はインタラクティブチューニングプロセスの実装によって提供される。
【0057】
本明細書で説明するように、装置のライブチューニングプロセスは、連続チューニングプロセス(例えば、周期的チューニングプロセス)を含み得る。チューニングプロセスの間、チューニングプロセスの初期化、初期パラメータ及び/又は初期テストの提供の後、周期的又は非周期的な間隔で、チューニングシステムは、自動的に(例えば、チューニングプロセスの初期化後、チューニングプロセスを停止する前に、チューニングプロセスを再初期化することなく)、周期的に(例えば、チューニングスケジュールに基づく定期的な間隔で)、装置をチューニングするためのテスト及び/又はパラメータを装置に提供することができる。例えば、各間隔において、チューニングシステムは、定期的且つ自動的にテスト及びパラメータを装置に提供し、装置へのテスト及びパラメータの提供に基づいて、チューニング結果を得ることができる。各間隔で提供されるテスト及びパラメータは、更新されたテスト及び/又は更新されたパラメータを含んでもよい。いくつかの実施形態において、チューニングシステムは、更新されたテスト及び/又はパラメータが得られるまで、同じテスト及び/又はパラメータを装置に提供(例えば、チューニングプロセスの開始に続くチューニングスケジュールの各間隔で、同じテスト及び/又はパラメータを定期的且つ自動的に提供)してもよい。更に、連続チューニングプロセスは、更新されたテスト及び/又はパラメータが提供されるまで、同じテスト及び/又はパラメータに基づいて連続的に実施されてもよい。
【0058】
チューニングシステムは、入力に基づいてチューニングプロセスを開始することができる。例えば、チューニングシステムは、ユーザコンピューティング装置を介して受信したユーザ入力に基づいて、チューニングプロセスを開始することができる。ユーザコンピューティング装置は、ライブチューニングプロセスを開始し、テスト(例えば、装置が実行するチューニング動作又は反復を特定する)及び/又はパラメータセット(例えば、チューニング動作又は反復を実行するためのパラメータのセット)を提供することができる。ユーザコンピューティング装置は、(例えば、ユーザインタフェースから)特定のテスト又はロードの命令(例えば、選択)を提供することによって、テストを提供することができる。いくつかの場合、ユーザコンピューティング装置は、入出力装置を介して、ライブチューニングプロセスを開始するためのユーザ入力を得ることができる。例えば、ユーザコンピューティング装置は、コンピューティング装置のディスプレイを介した入力、ユーザインタフェース(UI)上のボタンを介した入力、キーボードを介した入力、タッチスクリーンを介した入力、1以上のボタン又はキーパッドを介した入力、又は任意の他の適切なユーザ入力素子などに基づいて、ライブチューニングプロセスを開始するためのユーザ入力を取得することができる。
【0059】
チューニングシステムは、装置をチューニングするための1以上のチューニングツールを含んでもよい。1以上のチューニングツールのそれぞれは、ライブチューニングプロセスを実行するためのチューニングアプリケーションを実装してもよい。チューニングアプリケーション(例えば、「アプウェア」)は、1以上のチューニングツールのチューニングツール上で連続的に実行されてもよい。一例として、チューニングツールは、オムロンオートメーションによって開発されたパワープログラマブル多軸コントローラ(「PMAC」)統合開発環境(「IDE」)などの統合開発環境を利用してもよい。チューニングシステムは、1以上のチューニングツール及びチューニングアプリケーションを介して、チューニングプロセスを実行し、チューニング結果を得てもよい。
【0060】
チューニングシステムは、パラメータ及び/又はテストを取得するため、及びチューニング結果を提供するために、コンピューティング装置とデータ通信してもよい。コンピューティング装置は、チューニングツールによって収集されたデータ(例えば、チューニング結果)を受信してもよい。更に、コンピューティング装置は、コンピューティング装置上のUIを介して、(例えば、ユーザに)チューニング結果を(例えば、グラフ、統計データのセットなどとして)表示させてもよい。
【0061】
チューニングプロセスの開始後及びチューニングプロセスの実施中(例えば、チューニングプロセスが進行中の任意の時点)、ユーザコンピューティング装置は、チューニングプロセスに関連するテスト及び/又はパラメータを(例えば、オンザフライで)修正してもよい。例えば、ユーザコンピューティング装置は、チューニングプロセスにおける実装のために、更新されたテスト(例えば、ユーザコンピューティング装置は、更新されたタイプのテスト又はロードの選択を提供してもよい)及び/又は更新されたパラメータを提供してもよい。ユーザコンピューティング装置は、更新されたテスト及び/又は更新されたパラメータをチューニングシステムに提供してもよい。
【0062】
チューニングシステムは、ユーザコンピューティング装置から、メモリ(例えば、キャッシュ、データストア、データベース、データキューなど)内の更新されたテスト及び/又は更新されたパラメータを取得してもよい。チューニングプロセスの各間隔において、チューニングシステムは、メモリ(例えば、前のテスト中以降に更新された可能性がある)からテスト及び/又は更新されたパラメータを取得し、更新されたテスト及び/又は更新されたパラメータをチューニングするための装置に提供してもよい。いくつかの実施形態において、ユーザコンピューティング装置は、更新されたテスト及び/又は更新されたパラメータを提供せず、メモリは、複数の間隔のための同じテスト及び/又は同じパラメータを含んでもよい。従って、チューニングシステムは、メモリから同じテスト及び/又は同じパラメータを取得し、同じテスト及び/又は同じパラメータを複数の間隔のそれぞれでチューニングするための装置に提供してもよい。
【0063】
いくつかの実施形態において、ユーザコンピューティング装置は、(例えば、チューニングプロセスの間隔の間に)チューニングシステムに複数のテスト及び/又は複数のパラメータのセットを提供してもよい。チューニングシステムは、チューニングシステムが各間隔で直近に受信したテスト及び/又はパラメータを装置に提供するように、メモリのテスト及び/又はパラメータを更新されたテスト及び/又はパラメータに置き換えてもよい。一例として、チューニングシステムは、テストが実行される間(例えば、以前に受信したパラメータを使用して)、パラメータの更新値を受信してもよい。チューニングシステムは、更新されたパラメータ値を保存し、現在のテストは、以前に受信したパラメータを使用して継続してもよい。テストが完了すると、チューニングシステムは、パラメータに対して更新された値を使用して新しいテストを実行してもよい。いくつかの場合、以前に受信したパラメータを使用してテストが実行されている間に、チューニングシステムによって第2更新値を受信してもよい。第2更新値は、パラメータに対して以前の更新値を置き換えてもよい。更新値は、パラメータに対して第2更新値で上書きされてもよい。その後、次のテストは、パラメータに対して第2更新値を使用してもよい。この例において、第1更新値は、次のテストが開始される準備ができた時点で、その値が既に第2更新値に置き換えられているので、テストに使用されない。チューニング装置は、現在提示されている(例えば、チューニング装置に直近に提供された)パラメータを使用して、次のテストを連続的に開始してもよい。他の実施形態において、チューニングシステムは、複数のテスト及び/又は複数のパラメータセットをメモリに保存してもよい。例えば、チューニングシステムは、チューニングのために装置に提供される各テスト及び各パラメータのセットをメモリから削除してもよい。
【0064】
各間隔でチューニングシステムから提供されるテスト及び/又はパラメータに基づいて、各間隔に続いて、チューニングシステムは、装置からチューニング結果を受信してもよい。チューニングシステムは、チューニング結果を受信し、チューニング結果を表示するためにユーザコンピューティング装置に提供してもよい。それにより、ユーザコンピューティング装置は、更新されたチューニング結果を受信することができ、表示されたチューニング結果は、ユーザコンピューティング装置のUI上でほぼ即座にそれに応じて修正されることができる。ユーザチューニング結果に応答して、ユーザコンピューティング装置は、更新されたテスト及び/又はパラメータを提供してもよい。例えば、ユーザコンピューティング装置は、装置の性能レベルが性能閾値を満たす又は超えるように、更新されたテスト及び/又はパラメータを定期的に提供してもよい。
【0065】
一例として、チューニングシステムは、任意のタイプのモータ-エンコーダ-ドライブの組み合わせで連続チューニングプロセスを実施してもよい。例えば、チューニングシステムは、特定の精度閾値及びモーション制御閾値の柔軟性に関連する、任意のモータ-エンコーダ-ドライブの組み合わせに対して、連続チューニングプロセスを実施してもよい。特定のタイプの装置(例えば、特定のモータ-エンコーダ-ドライブの組み合わせ)に依存しないこのようなチューニングシステムは、従来のチューニングプロセスを、複雑で、時間がかかり、非効率的なものにする。例えば、装置の設定が未知であり得るので、装置の性能が性能閾値を満たすようにするパラメータのセットを決定するには時間がかかることがある。しかしながら、連続チューニングプロセスは、チューニングプロセスの各間隔でパラメータ及びテストが装置に提供されるような装置の定期的且つ自動的なチューニングを可能にするため、チューニングプロセスの効率を向上させることができる。なお、モータエンコーダは、一般的に、モータシャフトの速度及び/又は位置を追跡することによって閉ループフィードバック信号を提供する電動モータに取り付けられたロータリーエンコーダを指し、モータドライブ又はドライブは、一般的に、ロボット又は機械の速度を制御するために使用される設備を指すことに留意されたい。
【0066】
システム概要
図1は、本明細書のいくつかの実施形態に係るチューニングシステム102を備えるシステム100の概略図を示す。図示の実施形態において、システム100は、チューニングシステム102と、装置104と、ユーザコンピューティング装置106とを備えている。
図1に示され、説明された部品の任意の1つ又は任意の組み合わせはそれぞれ、1以上のサーバ、プロセッサ、コンピューティング装置、仮想マシンなどの1以上のコンピューティング装置を使用して実装でき、装置104のチューニングのために、有線接続又は無線接続を介して(例えば、
図1に示されていないネットワークを介して)通信することができる。例えば、チューニングシステム102とユーザコンピューティング装置106とは、ローカルエリアネットワーク又はインターネットのようなワイドエリアネットワークを介して通信することができる。
【0067】
チューニングシステム102及び/又はユーザコンピューティング装置106は、1以上のコンピューティングシステム又はコンピューティング装置を備えてもよく、例えば、デスクトップコンピュータ、ラップトップ、スマートフォン、タブレットなどの任意のネットワーク装備コンピューティング装置、又は任意の非ネットワーク装備コンピューティング装置を備えてもよい。いくつかの実施形態において、チューニングシステム102とユーザコンピューティング装置106とは、同じコンピューティングシステム(例えば、ラップトップやスマートフォンなど)に組み込まれてもよい。
【0068】
ユーザコンピューティング装置106は、ユーザに関連付けられた1以上のコンピューティング装置を備えてもよい。ユーザは、ユーザコンピューティング装置106を利用して、テスト、パラメータ、及び/又はチューニングプロセスの開始要求などをチューニングシステム102に提供することができる。ユーザコンピューティング装置106は、ネットワーキングユーティリティ112と入出力装置114とを備えてもよい。
【0069】
チューニングシステム102は、装置104をチューニングするための1以上のコンピューティング装置を備えてもよい。チューニングシステム102は、チューニング部品108と、メモリ109と、ネットワーキングユーティリティ110とを備えてもよい。チューニングシステムは、装置104をチューニングするためにチューニング部品108を利用してもよい。チューニングシステム102は、有線又は無線接続を介して装置104と通信してもよい。
【0070】
装置104は、1以上の装置(例えば、モータ、機械、設備、コンピューティング装置、エンジン、チップ、又は任意の他の装置)を備えてもよい。装置104は、1以上の調整可能な部品を備えてもよい。いくつかの実施形態において、装置104が調整可能な部品であってもよい。
図1の例において、装置104は、コントローラ116を備えている。コントローラ116は、受信入力(例えば、パラメータ及び/又はテスト)に基づいて動作を実行させる機械的、電気機械的、又は電子的装置であってもよい。
【0071】
チューニングシステム102及び/又はユーザコンピューティング装置106は、データ通信のためのネットワークユーティリティを備えてもよい。例えば、
図1に示すように、チューニングシステム102は、ネットワーキングユーティリティ110を備え、ユーザコンピューティング装置106は、ネットワーキングユーティリティ112を備える。ネットワーキングユーティリティ110とネットワーキングユーティリティ112とは、チューニングシステム102とユーザコンピューティング装置106との間のデータ通信を可能することができる。更に、ネットワーキングユーティリティ110とネットワーキングユーティリティ112とは、ネットワーク(例えば、インターネット)を介したチューニングシステム102とユーザコンピューティング装置106との間のデータ通信を可能にすることができる。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、その他のネットワーク、又はそれらの組み合わせを含む、適切なネットワークを含んでもよい。インターネット又は前述の他の種類の通信ネットワークを介して通信するためのプロトコル及び部品は、コンピュータ通信の当業者には既知であるため、本明細書でこれ以上詳細に説明する必要はない。
【0072】
チューニングシステム102と装置104とは、ストリーミングデータ接続を介して(例えば、データストリームを介して)データを通信してもよい。例えば、チューニングシステム102は、チューニング部品108を介して、データストリームを介して(例えば、チューニングプロセスの各間隔で)テスト及び/又はテストパラメータを装置104に通信してもよく、テスト及び/又はテストパラメータに応答して、装置104は、データストリームを介してチューニングシステム102にチューニング結果を通信してもよい。チューニングシステム102とユーザコンピューティング装置106とは、ストリーミングデータ接続を介して(例えば、データストリームを介して)データを通信してもよい。結果データは、装置104のランダムアクセスメモリ(RAM)(又は他の揮発性メモリ)からチューニングシステム102のRAM(又は他の揮発性メモリ)に送信されてもよい。いくつかの実施例において、結果データは、実行中のシステム102のRAM(又は他の揮発性メモリ)から、ユーザコンピューティング装置106のRAM(又は他の揮発性メモリ)に送信されてもよい。結果データは、不揮発性メモリや長期記憶装置にデータをコンパイルしてファイルに保存することなく、転送されてもよい。このアプローチにより、テスト結果データをより迅速に転送して表示することが可能になり、ユーザは、チューニング値の次の調整をより早く行うことができ、チューニングプロセスを加速することができる。テスト結果には、場合によってはかなりの量のデータが含まれることがあるが、このデータ転送アプローチによって、反復チューニングのプロセスを大幅に加速させることができる。パラメータ及び/又はテスト情報は、ユーザコンピューティング装置106のRAM(又は他の揮発性メモリ)からチューニングシステム102のRAM(又は他の揮発性メモリ)へ、及び/又はチューニングシステム102のRAM(又は他の揮発性メモリ)から装置104のRAM(又は他の揮発性メモリ)へ送信されてもよい。いくつかの実施形態において、チューニングシステム102とユーザコンピューティングシステム106とは、(例えば、1つのデータ転送リンクが使用されるように)同じコンピュータ又はプログラムに統合されてもよい。いくつかの実施形態において、(例えば、1つのデータ転送リンクが使用されるように)チューニングシステムが装置104に内蔵されてもよい。
【0073】
ユーザコンピューティング装置106は、テスト及び/又は1以上のパラメータを特定する入力を得るため、及び/又はチューニング結果を特定する出力(例えば、ネットワーキングユーティリティ112を介して得られる出力)を提供するための入出力装置114を備える。例えば、入出力装置114は、ディスプレイ、タッチスクリーン、キーパッド、スピーカー、マイクロフォン、又は、入力を受信し及び/又は出力を提供する他の任意の装置を備えてもよい。更に、入出力装置114は、アプリケーションプログラミングインタフェース(「API」)であってもよい。ユーザコンピューティング装置106は、テスト及び/又は1以上のパラメータを受け取るために、入出力装置114と通信してもよい。更に、ユーザコンピューティング装置106は、入出力装置114と通信して、チューニング結果の表示を可能にし(例えば、表示させ)てもよい。いくつかの実施形態において、ユーザコンピューティング装置は、チューニング結果を個別に通信してもよいし、システムがチューニング結果にアクセスできるようにする統一リソース識別子(「URI」)(例えば、統一リソースロケータ(「URL」))を提供してもよい。
【0074】
いくつかの実施形態において、システムは、ユーザが選択されたパラメータの値の桁を増分的に調整することを可能にする。例えば、ユーザ入出力装置114は、桁の値を1増やすための第1入力要素(例えば、上矢印)を有してもよい。ユーザ入出力装置114は、桁の値を1つ減らすための第2入力要素(例えば、下矢印)を有してもよい。64.852で桁8を選択した場合、上矢印で64.952に、下矢印で64.752に変更することができる。桁が9から0に変わると、隣接する桁の大きい桁を増やすことができる。桁が0から9に変わると、隣の桁の大きい桁を減らすことができる。上記の例で言えば、上向き矢印を1回押すと64.852が64.952に変わり、上向き矢印を2回押すと65.052に変わる。その後、下矢印を押すと、値が65.052から64.952に変わる。ボタンを1回タップすると、値を1つ変更することができる。ボタンを押したままにすると、ボタンを離すまで繰り返し値を変更することができる。ユーザ入出力装置114は、選択された桁を高い桁に変更するための第3入力要素(例えば、左矢印)と、選択された桁を低い桁に変更するための第4入力要素(例えば、右矢印)とを有してもよい。上の例で64.852という値を用いる場合、左矢印を押すと、選択されている桁が10の位(8)から1の位(4)に変わる。右矢印を押すと、選択されている桁が10の位(8)から100の位(5)に変わる。この構成により、ユーザは、比較的少数のユーザ入力要素を使用して、テストパラメータ値を迅速に変更することができる。
【0075】
ユーザは、チューニングを開始するために、ユーザコンピューティング装置106の入出力装置114に入力コマンドを提供してもよい。これに応答して、チューニングシステム102は、ネットワーキングユーティリティ112及びネットワーキングユーティリティ110を介して、ユーザコンピューティング装置106からチューニングプロセスを開始する要求を受け取ってもよい。チューニングプロセスは、複数の間隔を含んでもよく、各間隔において、チューニングシステムは、自動的に(例えば、ユーザコンピューティング装置によるチューニングプロセスの再初期化なしで)テスト及びパラメータを(例えば、以下のパラメータを使ってテストを行う)装置104に提供してもよい。チューニングシステム102は、チューニングを開始するための追加コマンドなしで、テストを繰り返し実行してもよい。チューニングシステム102は、ユーザ入力が追加されるまで、同じパラメータを用いて同じテストを繰り返し実行してもよい。チューニングシステム102は、パラメータを変更するためのユーザ入力が提供された場合、異なるパラメータで同じ種類のテストを繰り返し実行してもよい。いくつかの実施形態において、チューニングシステム102は、ユーザコンピューティング装置106から得られるユーザ入力に基づいて、チューニングプロセスの時間間隔を定義してもよい。いくつかの実施形態において、チューニングプロセスの各間隔の継続時間は、装置104でテストを実行するのにかかる時間量に基づいてもよい。チューニングシステム102は、ユーザコンピューティング装置106からチューニングプロセスの停止要求が得られるまで、各間隔で装置104にテスト及びパラメータを継続的に提供してもよい。
【0076】
チューニングプロセスの開始要求の受信に基づいて、チューニングシステム102のチューニング部品108は、装置104のチューニングプロセスを開始してもよい。例えば、チューニング部品108は、初期テスト及び初期パラメータを装置104に提供してもよい。チューニングプロセスの開始に基づいて、チューニング部品108は、メモリ109から装置104にテスト及びパラメータを(例えば、定期的及び継続的に)繰り返し(例えば、データストリームを介して)提供してもよい。
【0077】
チューニングシステム102は、ネットワーキングユーティリティ112及びネットワーキングユーティリティ110を介して、ユーザコンピューティング装置106から、テスト及び/又は1以上のパラメータ(例えば、初期テスト及びパラメータ、及び/又は、更新されたテスト及びパラメータ)を受け取ってもよい。テスト及び/又は1以上のパラメータを受信することに基づいて、チューニングシステム102は、テスト及び/又は1以上のパラメータをメモリ109に記憶してもよい。チューニングプロセスの各間隔中、チューニングシステム102は、メモリ109からテスト及び/又はパラメータを取得し、テスト及び/又はパラメータを装置104に提供してもよい。いくつかの実施形態において、チューニングシステム102は、装置104上でテストを実行してもよい。メモリ109は、(例えば、メモリに記憶されている)アクティブパラメータを有してもよく、アクティブパラメータは、現在実行されているアクティブテストに使用されてもよい。メモリ109は、(例えば、メモリに記憶されている)1以上の保留パラメータを有してもよく、これらは、後続のテスト反復に使用されてもよい。現在のテストが完了すると、保留パラメータがアクティブパラメータとなり、新しいテストを開始することができる。状況によっては、保留パラメータは、例えば、ユーザがパラメータを変更するための入力を行っていない場合、アクティブパラメータと同じであってもよい。ユーザが(例えば、ユーザコンピューティングシステム106を介して)1以上のパラメータを変更する入力を行った場合、現在のテストは、変更されていないパラメータ(例えば、アクティブパラメータ)を使用し続けてもよく、1以上の変更されたパラメータは、保留パラメータとしてメモリに記憶されてもよい。ユーザが1以上のパラメータに追加の変更を入力した場合、新しいパラメータ値は、保留パラメータの前の値を上書きするか、又は他の方法で置き換えられもよい。いくつかの実施例において、記憶されている保留パラメータは、置換パラメータのフルセットではなく、アクティブパラメータに対する変更であってもよい。その後、テストの各新たな反復を開始する前に、保留パラメータの変更に基づいてアクティブパラメータを更新してもよく、保留パラメータの変更は(例えば、パラメータに対する新たな変更が受信されるまで)クリアされてもよい。
【0078】
チューニングプロセスの開始に応答して、装置104は、チューニングプロセスの各間隔でチューニングシステム102からテスト及び/又はパラメータを受信すると、コントローラ116にテスト及び/又はパラメータを提供してもよい。コントローラ116は、テスト及び/又はパラメータを使用して1以上のオペレーションを実行し、チューニング結果を生成してもよい。装置104は、チューニング結果を(例えば、データストリームを介して)チューニングシステム102に提供してもよい。
【0079】
一例として、チューニングシステム102は、チューニングアプリケーション(例えば、チューニングCアプリプログラム)、ミドルウェアアプリケーション(「ギャザープログラム」)、及びネットワーキングプログラム(例えば、Netcat)を含んでもよい。更に、ユーザコンピューティング装置106は、ソフトウェアUI、及びネットワーキングプログラム(例えば、Netcat)を含んでもよい。
【0080】
チューニングアプリケーションは、チューニングプロセスの各反復を実行してもよく、チューニングツールのミドルウェアアプリケーションは、チューニングの反復の結果に関連するデータを出力データ構造(例えば、標準出力)に書き込んでもよい。チューニングシステム102及びユーザコンピューティング装置106のネットワーキングプログラムは、データ接続を生成してもよく、それにより、出力データ構造からのデータをライブでシステムにストリーミングし、オンザフライで処理して表示することができる。前述したものを実装可能なオペレーティングシステム(OS)は、例えば、Linux(登録商標)ベースのシステムやWindows OSなどであるが、これらに限定されるものではない。OS環境(例えば、ユーザコンピューティング装置106上のネットワーキングプログラム及びUIソフトウェアプログラム)に基づいて、ユーザコンピューティング装置106は、ネットワーキングプログラムとUIソフトウェアプログラムとの間のデータ通信(例えば、Cygwinを介して)を可能にするプログラムを含んでもよい。ネットワーキングプログラムは、チューニングシステム102とユーザコンピューティング装置106との間にデータ接続を生成してもよく、チューニングツールは、このデータ接続を使用して、ユーザコンピューティング装置106にデータをストリーミングしてもよい。このアーキテクチャは、チューニング結果のストリーミングを可能にし、チューニング結果が収集されてユーザコンピューティング装置106のユーザに表示される間、チューニングの反復が連続的に実行されることを可能することができる。ユーザは、チューニングの反復が継続的に実行されている間、UIソフトウェアプログラムを介してユーザコンピューティング装置106上でパラメータを変更してもよい。パラメータ及び/又はテストは、チューニングプロセスの新しい間隔毎に装置104によって取得されてもよく、ユーザコンピューティング装置106上でユーザに表示される結果は、パラメータに従って間隔毎に最新のものであってもよい。前述したように、ユーザコンピューティング装置106は、初期パラメータ及び/又は初期テスト及びパラメータを用いて、チューニングプロセスを一旦開始してもよく、テストは、チューニングプロセスの各後続間隔において、装置に定期的且つ自動的に提供されてもよい。それにより、チューニングプロセスを停止することなく、オンザフライでパラメータのユーザ入力を受け付け、チューニングプロセスの間隔毎にパラメータを更新しながら、チューニングプロセスを継続的に実行することができる。
【0081】
装置のライブチューニングのプロセス
図2は、いくつかの実施形態に係る、装置104をチューニングするためのチューニングシステム102を備えるチューニング環境200の構成例を示している。上述したように、チューニングシステム102は、取得された入力に基づいて装置104をチューニングするための1以上のチューニング部品を備えてもよい。更に、チューニングシステム102は、装置104及び/又はユーザコンピューティング装置と通信するための1以上のネットワークユーティリティを備えてもよい。装置104は、テスト及び/又はパラメータを提供され、テスト及び/又はパラメータに基づく動作を実行させてチューニング結果を生成するコントローラを備えてもよい。装置104は、更に、チューニング結果をチューニングシステム102に提供し、ユーザコンピューティング装置に提供してもよい。
【0082】
いくつかの実施形態において、ブロック206で、チューニングシステム102がチューニングプロセスを開始する。チューニングシステム102は、チューニングプロセスの開始要求に応答して、チューニングプロセスを開始してもよい。例えば、チューニングシステム102は、ユーザコンピューティング装置からチューニングプロセスの開始要求を取得してもよい。チューニングシステム102は、チューニングプロセスの開始要求の取得に基づいて、チューニング対象の装置104を特定してもよい。
【0083】
いくつかの実施形態において、チューニングシステム102は、チューニングプロセスの間隔を決定してもよい(例えば、ユーザコンピューティング装置から取得する、計算する、など)。例えば、チューニングプロセスの間隔は、約0.5秒、約1秒、約2秒、約3秒、約5秒など、又はその間の任意の値又は範囲としてもよいが、他の適切なダイム時間が使用されてもよい。間隔は、特定のテストの実行期間を特定してもよい。チューニングシステム102は、要求されたチューニングプロセス、要求されたテスト、要求されたパラメータなどに基づいて間隔を計算してもよい。
【0084】
いくつかの実施形態において、ブロック212で、チューニングシステム102は、チューニングプロセスの間隔に対するテスト及び/又はパラメータを取得する。チューニングシステム102は、チューニングシステム102のメモリからテスト及び/又はパラメータを取得してもよい。チューニングシステム102は、ユーザコンピューティング装置からテスト及びパラメータを取得し、テスト及びパラメータをメモリに記憶させてもよい。チューニングシステム102は、テスト及び/又はパラメータを装置104に提供する必要があるようなチューニングプロセスの間隔が満たされていることを判断してもよい。チューニングプロセスの間隔が満たされたと判断したことに応答して、チューニングシステム102は、メモリからテスト及び/又はパラメータを取得してもよい。いくつかの実施形態において、次のテストの反復を開始するための間隔がいつ満たされるかを判断するために、タイマーを使用してもよい。いくつかの実施形態において、次のテストの反復は、前のテストの反復の完了に応答して開始してもよい。
【0085】
いくつかの実施形態において、チューニングシステム102は、チューニングプロセスを開始する要求とともに、初期テスト及び/又は初期パラメータを取得してもよい。例えば、チューニングシステム102は、チューニングプロセスの開始要求、チューニングプロセスの初期テスト、及び/又はチューニングプロセスの初期パラメータをユーザコンピューティング装置から取得してもよい。
【0086】
いくつかの実施形態において、ブロック214で、チューニングシステム102は、テスト及び/又はパラメータを装置104に提供してもよい。例えば、チューニングシステム102は、データストリームを介して装置104にテスト及び/又はパラメータを提供してもよい。いくつかの実施形態において、チューニングシステム102は、テスト及びパラメータを別々に装置104に提供してもよい。
【0087】
いくつかの実施形態において、ブロック216で、装置は、テスト及び/又はパラメータを取得する。前述したように、装置は、チューニングシステム102とのデータストリームを介して、テスト及び/又はパラメータを取得してもよい。
【0088】
いくつかの実施形態において、ブロック218で、装置は、テストを実行する。例えば、装置は、移動プロファイルを実行することによってテストを実行してもよい。装置は、パラメータに基づいてテストを実行してもよい。更に、装置は、チューニングシステム102からテスト及び/又はパラメータを取得することに応答して、テストを実行してもよい。いくつかの実施形態において、装置は、装置104のコントローラに、テスト及び/又はパラメータに基づいて1以上の動作を実行させる(例えば、移動プロファイルを実行させる)ことによって、テストを実行してもよい。
【0089】
いくつかの実施形態において、ブロック220で、装置104は、チューニング結果をチューニングシステム102に(例えば、データストリームを介して)提供する。装置104は、テストの実行に基づいてチューニング結果を取得してもよい。装置104は、テストの実行を監視し、テストの実行の監視に基づいてチューニング結果を決定してもよい。例えば、装置104は、部品がどのように動作を実行するか(例えば、テストの実行に基づいてコントローラがどのように動作を引き起こすか)を追跡又は監視し、動作の性能を特定するチューニング結果を生成してもよい。チューニング結果を判断することに基づいて、装置は、チューニングシステム102とのストリーミングデータ接続(例えば、データストリーム)を介するなどして、チューニングシステム102にチューニング結果を提供してもよい。
【0090】
いくつかの実施形態において、ブロック208で、チューニングシステム102は、データストリームを介して装置104からチューニング結果を取得する。チューニングシステム102は、装置104によるパラメータに従ったテストの実行に基づいて、チューニング結果を取得してもよい。更に、ブロック210で、チューニングシステム102は、チューニングプロセスの間隔のチューニング結果を表示させてもよい。例えば、データストリームを介してチューニング結果を取得したことに応答して、チューニングシステム102は、チューニング結果をユーザコンピューティング装置に提供し、チューニング結果の表示を引き起こしてもよい。
【0091】
ブロック212,214,216,218,220,208,210は、チューニングプロセスの各間隔で繰り返されてもよい。更に、ブロックは、任意の間隔で何度も繰り返されてもよい。チューニングプロセスには、任意の数の間隔が含まれてもよいことは理解されるであろう。いくつかの実施形態において、チューニングプロセスは、チューニングプロセスを停止する要求が(例えば、ユーザコンピューティング装置から)得られるまで継続されてもよい。それにより、チューニング結果の表示に続いて、チューニングシステム102は、メモリからテスト及びパラメータを取得して、テストの実行のために装置104に提供されてもよい。ユーザコンピューティング装置は、テスト及び/又はパラメータをチューニングシステム102のメモリに提供してもよい。いくつかのケースでは、テスト及び/又はパラメータは、チューニングプロセスの前の間隔中に実施されたテスト及び/又はパラメータと同じテスト及び/又はパラメータであってもよい(例えば、ユーザコンピューティング装置が更新されたテスト及び/又はパラメータを提供していない場合)。他のケースでは、テスト及び/又はパラメータは、前の間隔の間に実施されたテスト及び/又はパラメータとは異なってもよい(例えば、ユーザコンピューティング装置が更新されたテスト及び/又は更新されたパラメータを提供した場合)。
【0092】
ライブチューニング結果を表示するユーザインタフェース
図3は、装置、テスト、及び/又はパラメータのチューニングプロセスの要求を取得するための、例示的なユーザインタフェース300を示している。例示的なユーザインタフェース300は、チューニングシステム(又は別のシステム)が、装置をチューニングするために生成し、ユーザに提示可能なインタフェースを例示したものである。ユーザインタフェース300は例示に過ぎず、チューニングシステムは、装置のチューニングを可能にするために、どのようなタイプのユーザインタフェースを提供してもよいことは理解されるであろう。
【0093】
ユーザインタフェース300は、第1インタフェース302と、第2インタフェース304と、第3インタフェース306と、第4インタフェース308と、第5インタフェース310と、第6インタフェース312とを更に備えてもよい。ユーザインタフェース300は、更に、より多くの、より少ない、又は異なるインタフェースを備えてもよい。第1インタフェース302は、チューニングプロセス選択インタフェースであってもよい。第2インタフェース304は、テスト選択インタフェースであってもよい。第3インタフェース306は、パラメータ選択インタフェースであってもよい。第4インタフェース308は、グラフィカルチューニング結果インタフェースであってもよい。第5インタフェース310は、数値チューニング結果インタフェースであってもよい。第6インタフェース312は、設定インタフェースであってもよい。
【0094】
第1インタフェース302、第2インタフェース304、第3インタフェース306、第4インタフェース308、第5インタフェース310、及び第6インタフェース312の各々は、複数のインタフェースを備えてもよい。例えば、第1インタフェース302は複数のサブインタフェースを備えてもよい。各インタフェースが、より多くの、より少ない、又は異なるインタフェースを備えてもよいことは理解されるであろう。いくつかの実施例において、インタフェース302,304,306,308,310,312の1以上が、システムの機能に応じて省略されてもよい。
【0095】
第1インタフェース302は、チューニングプロセス情報を特定してもよい。チューニングプロセス情報は、選択可能な1以上のチューニングプロセス(例えば、クローズドループチューニング、オープンループチューニング、トルク又は電流ループチューニング、位置又は速度ループチューニングなど)を特定してもよい。1以上のチューニングプロセスは、チューニングのために選択された装置及び/又は装置の特性に基づいて行われてもよい。
図3の例において、第1インタフェース302は、利用可能なチューニングプロセスを「カレントループチューン」、「オープンループ」、及び「位置ループチューン」と特定する。第1インタフェース302は、更に、装置がモータ「1」であり、モータの位置が「0.000000ct」であることを特定する。いくつかの実施形態において、ユーザインタフェースは、ユーザが単位をミリメートルあたりのカウント(ct)として定義することを可能にしてもよい(又は、ミクロンなど、距離又は位置の任意の他の適切な単位を使用してもよい)。一例として、システムは、32,767カウント/ミリメートルを使用してもよく、システムは、チューニングされる装置の構成に依存するなど、ユーザが他の様々なカウント値を指定できるようにしてもよい。更に、第1インタフェース302は、ユーザが装置の位置をゼロにすること、振幅を有効にすること、モータをオン及び/又はオフにすることなどを可能にする1以上のインタラクティブ要素を備える。第1インタフェース302が、より多くの、より少ない、又は異なる情報を特定してもよいことは理解されるであろう。
【0096】
第2インタフェース304は、テスト情報を特定してもよい。テスト情報は、選択及び変更可能な各テスト、及び、選択可能な各テストの1以上の特性(例えば、テストの間隔、テストの大きさなど)を特定してもよい。1以上の特性は、選択された特定の検査に基づいてもよい。
図3の例において、第2インタフェース304は、利用可能なテストを「ステップ」、「放物線」、「ポイントツーポイント」、「正弦波/正弦波スイープ」として特定する。「ステップ」テストにおいて、第2インタフェース304は、変更可能な特性を、値が「640ct」の「移動サイズ」、値が「300ミリ秒」の「移動時間」、値が「500ミリ秒」の「静止時間」として特定する。第2インタフェース304が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。
【0097】
第3インタフェース306は、パラメータ情報を特定してもよい。パラメータ情報は、(例えば、ライブチューニング中に)選択及び変更可能な1以上のパラメータを特定してもよい。第3インタフェース306は、選択及び変更可能な1以上のパラメータのグループを特定してもよい。
図3の例において、第3インタフェース306は、パラメータのグループを「ゲイン」、「サーボループフィルタ」、「軌道プレフィルタ」として特定する。パラメータ「ゲイン」グループに対して、第3インタフェース306は、変更可能なパラメータを、値が「8000」の「比例ゲイン」(Kp)、値が「80000」の「微分ゲイン1」(Kvfb)、値が「0」の「微分ゲイン2」(Kvifb)、値が「0.000099999997」の「積分ゲイン」(Ki)、値が「80000」の「速度フィードフォワードゲイン1(Kvff)」、値が「0」の「速度フィードフォワードゲイン2(Kviff)」、値が「0」の「加速度フィードフォワードゲイン(Kaff)」、値が「0」の「摩擦フィードフォワードゲイン(Kfff)」、値が「0」の「積分器モード(SwZvInt)」を特定する。いくつかの実施形態において、積分器モード値「1」は、モータが移動をコマンドしていないときにのみ位置誤差積分が実行されることを示し、積分器モード値「0」は、モータが移動をコマンドしているか否かに関係なく、位置誤差積分が実行されるか、又はいつでも実行されることを示す。第3インタフェース306が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。
【0098】
第4インタフェース308は、グラフィカルなフォーマットでチューニング結果を特定してもよい。装置からのチューニング結果の受信に基づき、チューニングシステムは、第4インタフェース308にグラフィカルなフォーマットでチューニング結果を表示させてもよい。第5インタフェース310は、チューニング結果を非グラフィカルなフォーマット(例えば、数値、アルファベット、英数字、記号)で特定してもよい。装置からのチューニング結果の受信に基づき、チューニングシステムは、第5インタフェース310に非グラフィカルなフォーマットでチューニング結果を表示させてもよい。第4インタフェース308及び第5インタフェース310が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。
【0099】
第6インタフェース312は、設定及び/又はステータス情報を特定してもよい。設定は、例えば、テストが装置によってどのように実施されるか及び/又はチューニング結果がどのように生成、決定、又は表示されるかについて調整又は報告するため、1以上の調整可能な設定又はステータス識別子(例えば、フィルタ、制限、装置ステータス、装置タイプ、装置アルゴリズムなど)を特定してもよい。
図3の例において、第6インタフェース312は、設定を「軌道プレフィルタ」、「位置ループ」、「標準サーボアルゴリズム」、「独立モータタイプ」、「アンプ故障」、「致命的FE限界」、「ハードウェア限界」、又は「ソフトウェア限界」として特定する。第6インタフェース312が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。
【0100】
図4は、装置、テスト、及び/又はパラメータのチューニングプロセスの要求を取得し、チューニング結果を表示するための例示的なユーザインタフェース400を示している。例示的なユーザインタフェース400は、チューニングシステム(又は別のシステム)が、装置をチューニングし、チューニング結果を表示するために生成し、ユーザに提示可能なインタフェースを例示するものである。ユーザインタフェース400が例示に過ぎず、チューニングシステムが、装置のチューニングを可能にするために、どのようなタイプのユーザインタフェースを提供してもよいことは理解されるであろう。
【0101】
ユーザインタフェース400は、第1インタフェース402と、第2インタフェース404と、第3インタフェース406と、第4インタフェース408と、第5インタフェース410と、第6インタフェース412とを更に備えてもよい。ユーザインタフェース400は、更に、より多くの、より少ない、又は異なるインタフェースを備えてもよい。第1インタフェース402は、チューニング方法インタフェースであってもよい。第2インタフェース404は、テスト選択インタフェースであってもよい。第3インタフェース406は、パラメータ選択インタフェースであってもよい。第4インタフェース408は、グラフィカルチューニング結果インタフェースであってもよい。第5インタフェース410は、数値チューニング結果インタフェースであってもよい。第6インタフェース412は、チューニング開始インタフェースであってもよい。
【0102】
第1インタフェース402、第2インタフェース404、第3インタフェース406、第4インタフェース408、第5インタフェース410、及び第6インタフェース412の各々は、複数のインタフェースを備えてもよい。例えば、第1インタフェース402は、複数のサブインタフェースを備えてもよい。各インタフェースが、より多くの、より少ない、又は異なるインタフェースを備えてもよいことは理解されるであろう。
【0103】
第1インタフェース402は、チューニング方法情報を特定してもよい。チューニング方法情報は、選択可能な装置をチューニングする1以上の方法(オートチューニング、インタラクティブチューニング、ライブチューニングなど)を特定してもよい。チューニングの1以上の方法は、チューニングのために選択された装置及び/又は装置の特性に基づいてもよい。
図4の例において、第1インタフェース402は、利用可能なチューニング方法を「オート」及び「インタラクティブ」と特定する。第1インタフェース402が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。
【0104】
第2インタフェース404は、テスト情報を特定してもよい。上述したように、テスト情報は、選択及び変更可能な各テスト及び選択可能な各テストの1以上の特性を特定してもよい。
図4の例において、第2インタフェース404は、利用可能なテストを「ステップ」、「放物線」、「ポイントツーポイント」、及び「正弦波/正弦波スイープ」として特定する。「ステップ」テストにおいて、第2インタフェース404は、変更可能な特性を、値が「1000mu」の「移動サイズ」、値が「500ミリ秒」の「移動時間」、値が「No」の「静止」として特定する。また、第2インタフェース404は、特定の方向に移動する装置を選択するためのパラメータ、及び/又は、テスト後に装置を停止する(例えば、止める)ためのパラメータを含む。第2インタフェース404が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。「移動サイズ」は、モータがまず正方向に移動してから、反転して逆方向に同じ距離を移動する距離であってもよい。単位は、上述したカウント(cn)と同様にユーザが定義可能なモータ単位(mu)であってもよいが、任意の適切な距離単位が使用されてもよい。「移動時間」は、モータが「移動サイズ」で指定された距離を正方向に移動し、次に同じ距離を「移動時間」の時間内に逆方向に移動する時間であってもよい。
【0105】
第3インタフェース406は、パラメータ情報を特定してもよい。上述したように、パラメータ情報は、(例えば、ライブチューニング中に)選択及び変更可能な1以上のパラメータを特定してもよい。第3インタフェース406及び/又は第2インタフェース404は、チューニングプロセスの次の間隔で実施するためのパラメータ及び/又はテストをユーザが変更できるようにしてもよい。いくつかの実施例において、第3インタフェース406の1以上又は全てのパラメータは、ライブチューニング中にその場で調整可能である一方、第2インタフェース404の1以上又は全てのパラメータは、チューニングセッションの期間中に設定可能である。
図4の例において、第3インタフェース406は、パラメータのグループを「ゲイン」、「位置フィルタ」、「軌道プレフィルタ」、「フィルタ係数」として特定する。パラメータ「ゲイン」グループについて、第3インタフェース406は、変更可能なパラメータを、値が「3.2225997」の「比例ゲイン」(Kp)、値が「59.250027」の「微分ゲイン1」(Kvfb)、値が「0」の「微分ゲイン2」(Kvifb)、値が「0086849825」の「積分ゲイン」(Ki)、値が「59.250027」の「速度フィードフォワードゲイン1(Kvff)」、値が「0」の「速度フィードフォワードゲイン2(Kviff)」、値が「539.80347」の「加速度フィードフォワードゲイン(Kaff)」、値が「0」の「摩擦フィードフォワードゲイン(Kfff)」として特定する。第3インタフェース406が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。他にも様々な値やパラメータを使用してもよい。
【0106】
第4インタフェース408は、チューニング結果をグラフィカルなフォーマットで特定してもよく、第5インタフェース410は、チューニング結果を非グラフィカルなフォーマット(例えば、数値、アルファベット、英数字、記号)で特定してもよい。第4インタフェース408は、
図1に関して本明細書で説明したように、チューニングシステムからユーザコンピューティング装置にストリーミングされたチューニング結果のグラフィカル表示を含んでもよい。第5インタフェース410は、チューニング結果の非グラフィカル表示(例えば、統計ベースの表示)のためのセクションを含んでもよい。第4インタフェース408及び第5インタフェース410は、チューニングシステムからユーザコンピューティング装置にストリーミングされたチューニング結果に基づいて、継続的に更新されてもよい。更に、第4インタフェース408及び第5インタフェース410は、ユーザコンピューティング装置を介して、ユーザによって提供され、オンザフライでチューニングプロセスに適用されるテスト及び/又はパラメータの更新を反映してもよい。第4インタフェース408及び第5インタフェース410が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。いくつかの実施形態において、ユーザインタフェースは、現在表示されているテスト結果を生成するためにどのようなパラメータの値が使用されたかのインジケータを含んでもよい。ユーザインタフェースは、現在表示されている結果を生成した値からどの値が変更されたかを示すアイコン又は他のインジケータを含んでもよい。いくつかの実施形態において、時計、砂時計、回転する円、又は他のインジケータが、表示された結果を生成したテスト以降に変更された値の隣に配置されてもよい。いくつかの実施形態において、ユーザインタフェースは、表示された結果を生成した値と、まだ完了していないテストの現在値又は保留値の両方を(例えば、別の列として)表示してもよい。
【0107】
第6インタフェース412は、チューニング開始情報を特定してもよい。例えば、第6インタフェース412は、チューニングプロセスを開始及び/又は停止するための選択可能な要素を含んでもよい。
図4の例において、第6インタフェース412は、チューニングプロセスが進行中のときに選択可能な「チューニング停止」要素を含む。第6インタフェース412が、より多くの情報、より少ない情報、又は異なる情報を特定してもよいことは理解されるであろう。
【0108】
装置のライブチューニング
図5は、開示された技術のいくつかの例に係る、装置(例えば、サーボモータ)をチューニングするための連続的な(例えば、ライブ、インタラクティブ)チューニングプロセスを利用して、チューニングシステムによって実行される方法500を示している。チューニングシステムは、例えば、上述したチューニングシステム102と同様であり、チューニング部品108と同様のチューニング部品、メモリ109と同様のメモリ、及び/又は、ネットワーキングユーティリティ110と同様のネットワーキングユーティリティを備えてもよい。
【0109】
ブロック502で、チューニングシステムは、1以上のパラメータ及び/又はテストを取得する。1以上のパラメータ及び/又はテストは、パラメータに従ってテストを実行するための装置を特定してもよい。チューニングシステムは、ユーザコンピューティング装置から(例えば、ユーザコンピューティング装置のユーザインタフェースを介して)1以上のパラメータ及び/又はテストを取得してもよい。いくつかの実施形態において、チューニングシステムは、チューニングシステムのメモリから1以上のパラメータ及びテストを取得してもよい。テストは、ステップテスト、ランプテスト、放物線速度テスト、台形速度テスト、S字曲線速度テスト、正弦波テスト、正弦波スイープテスト、及び/又はユーザ定義テストなどを含んでもよい。更に、テストは、移動サイズ、移動速度、及び/又は移動プロファイルなどを定義及び/又は含んでもよい。パラメータは、比例ゲイン、微分ゲイン、速度フィードフォワードゲイン、積分ゲイン、積分モード、加速度フィードフォワードゲイン、及び/又は摩擦フィードフォワードゲインなどを含んでもよい。いくつかの実施形態において、パラメータは、ハードウェアパラメータを含んでよい。例えば、パラメータは、装置のハードウェア部品、装置とシステム間の接続、及び/又は装置と別の部品間の接続に基づいてもよい。
【0110】
ブロック504で、チューニングシステムは、チューニングプロセスを開始する。チューニングシステムは、1以上のパラメータ及びテストに基づいてチューニングプロセスを開始してもよい。チューニングシステムは、ユーザインタフェースを介して(例えば、チューニングプロセスを開始する要求を特定する)ユーザ入力を受け取り、ユーザ入力に応答してチューニングプロセスを開始してもよい。チューニングシステムは、更に、チューニングプロセスのチューニングスケジュールを特定してもよい。チューニングスケジュールは、パラメータ及び/又はテストを装置に提供するための1以上の間隔を特定してもよい。
【0111】
ブロック506で、チューニングシステムは、チューニングプロセスの開始に応答して、1以上のパラメータ及び/又はテストを装置に提供する。例えば、チューニングシステムは、チューニングスケジュールに基づいて、1以上のパラメータ及びテストを提供してもよい。1以上のパラメータ及びテストを装置に提供することに基づいて、チューニングシステムは、装置からチューニング結果を取得してもよい。例えば、装置は、1以上のパラメータ及びテストに基づいてチューニング結果を生成し、チューニングシステムにチューニング結果を提供してもよい。チューニングシステムは、装置からのデータストリームを介してチューニング結果を取得してもよい。チューニングシステムは、ユーザインタフェース(例えば、ユーザコンピューティング装置のユーザインタフェース)のディスプレイを介して、チューニング結果の少なくとも一部を表示させてもよい。更に、チューニングシステムは、1以上のパラメータ、テスト、及び/又はチューニング結果の少なくとも一部を表示させてもよい。
【0112】
ブロック508で、チューニングシステムは、テストの完了に応答して、追加パラメータ及び追加テストを装置に自動的に提供する。チューニングシステムは、1以上のパラメータ及びテストを装置に提供した後に、追加パラメータ及び追加テストを装置に提供してもよい。例えば、チューニングシステムは、チューニングスケジュールに基づいて、追加パラメータ及び追加テストを提供してもよい。更に、チューニングシステムは、チューニングプロセスを再度開始することなく、チューニングプロセスの開始後にユーザインタフェースを介してユーザ入力を受け取ることなく、及び/又は、パラメータ及び/又はテストを定義するユーザ入力以外のユーザ入力を受け取ることなく、追加パラメータ及び追加テストを装置に自動的に提供してもよい。
【0113】
追加パラメータ及び追加テストを提供するために、チューニングシステムは、ユーザコンピューティング装置から追加パラメータ及び追加テストを取得し、追加パラメータ及び追加テストをメモリに記憶してもよい。後続のパラメータ及び/又はテストが取得されると、チューニングシステムは、最後に受け取ったパラメータ及び/又はテストがチューニングプロセスの次の間隔で提供されるように、パラメータ及び/又はテストを更新されたパラメータ及び/又はテストに置き換えてもよい。装置に追加パラメータ及び追加テストを提供するために、チューニングシステムは、メモリから追加パラメータ及び追加テストを取得してもよい。いくつかの実施形態において、チューニングシステムは、チューニングプロセスの次の間隔の前に、ユーザコンピューティング装置から追加パラメータ及び/又は追加テストを取得しなくてもよい。具体的には、チューニングシステムは、(例えば、1以上のパラメータ及び/又はテストが、更新されたパラメータ及び/又は更新されたテストに置き換えられない可能性があるため)1以上のパラメータ及び/又はテストをメモリから取得し、1以上のパラメータ及び/又はテストを装置に提供してもよい。従って、1以上のパラメータは、追加パラメータと同じであっても異なってもよく、テストは、追加テストと同じであっても異なってもよい。
【0114】
いくつかの実施形態において、チューニングシステムは、追加テスト及び/又は追加パラメータを装置に自動的に提供する前に、(例えば、パラメータ及び/又はテストを定義する)ユーザ入力が取得されたか否かを判断してもよい。ユーザ入力が取得されていないとチューニングシステムが判断した場合、チューニングシステムは、1以上のパラメータ及び/又はテストを装置に提供してもよい。パラメータを変更するためにユーザ入力が提供されなかった場合、装置は、次のテスト反復のために同じパラメータ及び/又はテストを使用してもよい。ユーザ入力が取得されたとチューニングシステムが判断した場合、チューニングシステムは、ユーザ入力(又はユーザ入力によって示された新しいテスト及び/又はパラメータ)を装置に提供してもよい。いくつかの実施形態において、チューニングシステムは、更新されたテストを取得せずにパラメータのセットを取得(又は、更新されたパラメータを取得せずに更新されたテストを取得)してもよい。また、チューニングシステムは、更新されたパラメータのセットをテスト(例えば、ブロック502で取得されたテスト)とともに装置に提供してもよい。
【0115】
追加パラメータ及び追加テストを装置に自動的に提供することに基づいて、チューニングシステムは、装置から追加のチューニング結果を取得してもよい。チューニングシステムは、追加のチューニング結果の少なくとも一部を、ユーザインタフェースのディスプレイを介して表示させてもよい。
【0116】
チューニングシステムは、(例えば、チューニングスケジュールに基づいて)チューニングプロセスの各間隔において、パラメータ及びテストを装置に継続的に(例えば、自動的且つ定期的に)提供してもよい。例えば、チューニングシステムは、チューニングプロセスを中止する要求が(例えば、特定のユーザコンピューティング装置から)取得されるまで、各間隔でパラメータ及び/又はテストを提供してもよい。例えば、チューニングシステムは、ユーザ入力を取得し、ユーザ入力に基づいてチューニングプロセスが中止されたと判断し、装置のチューニングを停止してもよい。
【0117】
本明細書で開示されるチューニングシステムは、ユーザからの1回の開始入力だけでテストプロファイルを繰り返し実行することができ、ユーザが停止入力を行うまでテストプロファイルを繰り返し続けることができる。テスト反復の各々について、本明細書で開示されるチューニングシステムは、テスト結果のデータを収集、送信、解析、及び/又は表示することができる。チューニングシステムは、高速フーリエ変換(FFT)や微分計算など、データの後処理を行うことができる。チューニングシステムは、グラフ、統計データ、及び/又は最新のテスト反復からのアクティブゲインパラメータを含むデータを表示することができる。テスト中、ユーザは、テストパラメータやゲインを変更し、次のテスト反復中又はテスト反復後に結果を観察することができる。本明細書に開示されたチューニングシステムは、モータ応答やその他のテストされた装置の特徴に対する外部要因の影響を研究するために使用することができる。ユーザの作業負担を軽減することで、本明細書で開示するチューニングシステムは、チューニング時間を大幅に短縮することができる。本明細書に開示されたチューニングシステムは、複数のテスト反復の間で応答の一定性を確立するために使用することができる。参照により本明細書に組み込まれる米国仮出願第63/191,882号の付録には、チューニングシステムに関する追加情報が含まれている。
【0118】
「できる(can)」、「可能性がある(could)」、「かもしれない(might)」、又は「でもよい(may)」などの条件付き表現は、特に明記されていない限り、又は使用されている文脈内で理解されない限り、一般的に、特定の例が特定の特徴、要素、及び/又はステップを含む、又は含まないことを伝えることを意図している。従って、このような条件付き表現は、一般に、特徴、要素、及び/又はステップが、1以上の例に対して何らかの形で必要であることを意味するものではない。
【0119】
モータのライブチューニングのいくつかの例が開示されている。本開示は、特定の例示的な実施例及び用途の観点から説明されてきたが、本明細書に記載の特徴及び利点の全てを提供しない実施例及び用途を含む、他の実施例及び他の用途も本開示の範囲内である。部品、要素、特徴、行為、又はステップは、説明とは異なる配置又は実行が可能であり、部品、要素、特徴、行為、又はステップは、様々な例において、組み合わせ、統合、追加、又は省略することができる。本明細書に記載された要素及び部品の全ての可能な組み合わせ及び部分的組み合わせは、本開示に含まれることが意図されている。どの機能も、どのグループも、必要不可欠なものではない。
【0120】
別個の実施態様の文脈で本開示に記載されている特定の特徴は、単一の実施態様において組み合わせて実施することもできる。逆に、単一の実施態様の文脈で説明した様々な特徴も、複数の実施態様で別々に、又は任意の適切な部分的組み合わせで実施することができる。更に、上記では特徴を特定の組み合わせで作用するものとして説明したが、場合によっては、クレームされた組み合わせから1以上の特徴を除外し、その組み合わせをサブコンビネーション又はサブコンビネーションのバリエーションとしてクレームすることもできる。
【0121】
本開示の1つの実施例において開示又は図示されたステップ、プロセス、構造、及び/又は装置のいずれかの部分は、異なる実施例又はフローチャートにおいて開示又は図示されたステップ、プロセス、構造、及び/又は装置のいずれかの他の部分と組み合わされてもよいし、(又はその代わりに)使用されてもよい。本明細書に記載された実施例は、互いに分離したものであることを意図していない。開示された特徴の組み合わせ、変形、及びいくつかの実施例は、本開示の範囲内である。
【0122】
操作は、特定の順序で図面に描かれ又は明細書に記載されているかもしれないが、そのような操作は、望ましい結果を達成するために、示された特定の順序で又は連続した順序で実行される必要はなく、全ての操作が実行される必要もない。描かれていない又は説明されていない他の操作も、例示的な方法及びプロセスに組み込むことができる。例えば、1以上の追加操作を、説明した操作の前、後、同時、又はその間に行うことができる。更に、いくつかの実施例においては、操作の並べ替えや順序の変更も可能である。また、上述した実施態様における様々な構成要素の分離は、全ての実施態様においてそのような分離が必要であると理解されるべきではなく、記載された部品及びシステムは、一般に、単一の製品に一緒に統合されるか、又は複数の製品にパッケージされ得ることが理解されるべきである。更に、いくつかの実施例は本開示の範囲内である。
【0123】
更に、例示的な実施例を説明したが、同等の要素、変更、省略、及び/又は組み合わせを有する実施例も本開示の範囲内である。更に、特定の態様、利点、及び新規な特徴が本明細書に記載されているが、必ずしもそのような利点の全てが特定の実施例に従って達成されるとは限らない。例えば、本開示の範囲内のいくつかの実施例は、本明細書で教示又は示唆される他の利点を必ずしも達成することなく、本明細書で教示される1つの利点又は利点群を達成する。更に、いくつかの実施例は、本明細書で教示又は示唆するものとは異なる利点を達成することができる。
【0124】
いくつかの実施例を添付図面に関連して説明してきた。図面は、縮尺通りに描かれ及び/又は示されているが、このような縮尺は限定的ではなく、図示されている以外の寸法及び比率が、想定され、開示された本発明の範囲内にある。距離、角度などは単なる例示であり、図示された装置の実際の寸法やレイアウトと必ずしも正確な関係を持つものではない。部品は、追加、削除、再配置が可能である。更に、様々な実施例に関連する特定の特徴、態様、方法、性質、特性、品質、属性、要素などの本明細書における開示は、本明細書に記載される他の全ての実施例において使用することができる。更に、本明細書に記載された方法は、記載されたステップを実行するのに適した任意の装置を用いて実施することができる。
【0125】
本開示を要約する目的で、本発明の特定の態様、利点、及び特徴を本明細書で説明した。本明細書に開示された発明の特定の実施例に従って、そのような利点の全て又はいずれかが必ずしも達成されるわけではない。本開示のいかなる側面も必須又は欠くことのできないものではない。多くの例において、装置、システム、及び方法は、本明細書の図面又は説明に図示されているものとは異なる構成にすることができる。例えば、図示したモジュールによって提供される様々な機能を組み合わせたり、並べ替えたり、追加したり、削除したりすることができる。いくつかの実施例において、追加又は異なるプロセッサ又はモジュールが、図面に説明及び図示した例を参照して説明した機能性の一部又は全部を実行することができる。多くの実施例のバリエーションが可能である。本明細書に開示されている特徴、構造、ステップ、又はプロセスのいずれかを、任意の実施例に含めることができる。
【0126】
いくつかの実施形態において、本明細書に記載される方法、技術、マイクロプロセッサ、及び/又はコントローラは、1以上の専用コンピューティング装置によって実装される。特殊用途のコンピューティング装置は、技法を実行するようにハード配線されていてもよいし、技法を実行するように持続的にプログラムされた1以上の特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)などのデジタル電子装置を含んでもよいし、ファームウェア、メモリ、他の記憶装置、又はそれらの組み合わせ内のプログラム命令に従って技法を実行するようにプログラムされた1以上の汎用ハードウェアプロセッサを含んでもよい。命令は、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、又は任意の他の形態の非一過性のコンピュータ読み取り可能な記憶媒体に存在してもよい。このような特殊用途のコンピューティング装置は、カスタムハードワイヤードロジック、ASIC、又はFPGAと、技術を達成するためのカスタムプログラミングを組み合わせてもよい。特殊用途のコンピューティング装置は、デスクトップコンピュータシステム、サーバーコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルド装置、ネットワーク装置、又は技術を実装するためのハードワイヤード及び/又はプログラムロジックを組み込んだ他の装置又は装置の組み合わせであってもよい。
【0127】
本明細書で説明するマイクロプロセッサ又はコントローラは、iOS、Android、Chrome OS、Windows、Unix(登録商標)、Linux、SunOS、Solaris、Blackberry OS、VxWorks、又はその他の互換性のあるオペレーティングシステムなどのオペレーティングシステムソフトウェアによって調整することができる。他の実施形態において、コンピューティング装置は、独自のオペレーティングシステムによって制御されてもよい。従来のオペレーティングシステムは、コンピュータプロセスの実行を制御及びスケジューリングし、メモリ管理を行い、ファイルシステム、ネットワーキング、I/Oサービスを提供し、グラフィカルユーザインタフェース(「GUI」)などのユーザインタフェース機能を提供する。
【0128】
本明細書で説明するマイクロプロセッサ及び/又はコントローラは、カスタマイズされたハードワイヤードロジック、1以上のASIC又はFPGA、ファームウェア、及び/又はマイクロプロセッサ及び/又はコントローラを専用機とするプログラムロジックを使用して、本明細書で説明する技術を実装することができる。一実施形態によれば、本明細書に開示される技術の一部は、メモリに含まれる1以上のシーケンス命令の実行に応答して、コントローラで実行される。このような命令は、記憶装置などの別の記憶媒体からメモリに読み込まれてもよい。メモリに含まれる命令シーケンスの実行により、プロセッサ又はコントローラは、本明細書で説明するプロセスステップを実行する。別の実施形態において、ソフトウェア命令の代わりに又はソフトウェア命令と組み合わせて、ハード配線回路が使用されてもよい。
【0129】
更に、本明細書に開示される実施形態に関連して説明される様々な例示的論理ブロック及びモジュールは、プロセッサ装置、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は他のプログラマブル論理装置、ディスクリートゲート又はトランジスタ論理、ディスクリートハードウェア構成要素、又は本明細書に説明される機能を実行するように設計されたそれらの任意の組み合わせなどの機械によって実装又は実行され得る。プロセッサ装置は、マイクロプロセッサであってもよいが、代替案として、コントローラ、マイクロコントローラ、又はステートマシン、これらの組み合わせなどであってもよい。プロセッサ装置は、コンピュータ実行可能命令を処理するように構成された電気回路を含んでもよい。別の実施形態において、プロセッサ装置は、コンピュータ実行可能命令を処理することなく論理演算を実行するFPGA又は他のプログラマブル装置を含む。プロセッサ装置は、コンピューティング装置の組み合わせ、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと組み合わせた1以上のマイクロプロセッサ、又は他のそのような構成として実装されてもよい。本明細書では主にデジタル技術について説明したが、プロセッサ装置は、主にアナログ部品を備えても。例えば、本明細書で説明する技術の一部又は全部は、アナログ回路又はアナログとデジタルの混合回路で実装されてもよい。
【0130】
要約すると、モータのライブチューニングの様々な例が開示されている。本開示は、具体的に開示された実施例を超えて、他の代替実施例及び/又は実施例の他の用途、並びにそれらの特定の改変及び等価物に及ぶ。更に、本開示は、開示された実施例の様々な特徴及び態様を、互いに組み合わせたり、代用したりできることを明示的に企図している。従って、本開示の範囲は、上述の特定の開示例によって限定されるべきではない。