JP2013225284A - Parameter estimation method for operation system, parameter estimation method thereof, generation method for operation profile and generation system thereof - Google Patents

Parameter estimation method for operation system, parameter estimation method thereof, generation method for operation profile and generation system thereof Download PDF

Info

Publication number
JP2013225284A
JP2013225284A JP2012226827A JP2012226827A JP2013225284A JP 2013225284 A JP2013225284 A JP 2013225284A JP 2012226827 A JP2012226827 A JP 2012226827A JP 2012226827 A JP2012226827 A JP 2012226827A JP 2013225284 A JP2013225284 A JP 2013225284A
Authority
JP
Japan
Prior art keywords
speed
profile
inertia
acceleration
torque command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012226827A
Other languages
Japanese (ja)
Inventor
Tian Gang
ギャング ティアン,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Linestream Technologies Inc
Original Assignee
Linestream Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/451,924 external-priority patent/US8710777B2/en
Priority claimed from US13/474,919 external-priority patent/US9041337B2/en
Application filed by Linestream Technologies Inc filed Critical Linestream Technologies Inc
Publication of JP2013225284A publication Critical patent/JP2013225284A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37388Acceleration or deceleration, inertial measurement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41163Adapt gain to friction, weight, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41381Torque disturbance observer to estimate inertia

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Electric Motors In General (AREA)
  • Feedback Control In General (AREA)
  • Control Of Position Or Direction (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a system and method for estimating inertia and friction coefficients of a machine system to be controlled.SOLUTION: An inertia estimator 402 generates a torque command signal which continuously varies with time during a test sequence. Then the speed of an operation system responding to the torque command signal which varies with time is measured and recorded during the test sequence. Then the inertia estimator estimates one of inertia and friction coefficients of the operation system on the basis of torque command data sent to the operation system and measured speed data. An operation profile which is optimized with time is also generated on the basis of restrictions for controlling a locus of movement between two points of an operation control system. A profile generation unit calculates an operation profile of an ST curve including jerk reference continuously varying with time in at least one segment of the operation profile, and creates a smooth locus optimized with time.

Description

本発明の実施形態は、動作システムのパラメータ推定法、そのパラメータ推定システム、動作プロファイルの生成方法およびその生成システムに関し、機械システムにおける慣性の自動推定方法および動作プロファイルの生成方法、一般的な動作制御、特に、動作制御システムにおいてパラメータとして使用する慣性および摩擦係数の推定、および、制約条件に基づく時間的最適動作のプロファイル生成に関する。   Embodiments described herein relate generally to a motion system parameter estimation method, a parameter estimation system thereof, a motion profile generation method, and a generation system thereof, and to an automatic inertia estimation method, a motion profile generation method, and general motion control in a mechanical system. In particular, the present invention relates to the estimation of inertia and friction coefficient used as parameters in a motion control system, and the generation of a temporally optimal motion profile based on constraints.

自動化を適用する多くのケースでは、機械のポジションと速度を制御するために動作制御システムを採用する。そのような動作制御システムは、通常、コントローラの制御により動作する1つ以上のモータまたは類似した動作装置を含む。コントローラは、ユーザに定義された制御アルゴリズムまたはプログラムにしたがって、ポジションおよび速度の制御命令をモータに送る。いくつかの動作制御システムは、閉ループ構成で動作し、コントローラは、目標ポジションに移動するか、または、目標速度(望ましい状態)に移行するようモータに命令し、モータの動作状態を示すフィードバック情報を受信する。コントローラは、モータが目標ポジションもしくは目標速度に達したかどうかを決定するためにフィードバック情報を監視し、実際の状態と望ましい状態との間の誤差を補正するために制御信号を調整する。   In many cases where automation is applied, motion control systems are employed to control machine position and speed. Such motion control systems typically include one or more motors or similar motion devices that operate under the control of a controller. The controller sends position and speed control commands to the motor according to a user defined control algorithm or program. Some motion control systems operate in a closed loop configuration, and the controller commands the motor to move to a target position or move to a target speed (desired state) and provide feedback information indicating the motor's operating state. Receive. The controller monitors the feedback information to determine whether the motor has reached the target position or target speed and adjusts the control signal to correct the error between the actual state and the desired state.

動作制御システムの設計者は、動作速度とシステムの安定性との間の最適なトレードオフを追求する。例えば、機械部品を目標ポジションに高トルクで遷移させることをコントローラがモータに命令すれば、機械は、最初に、そのポジションと望ましいポジションとのズレを高速(すなわち、時間的に効率的な方法)で縮めるが、高トルクのために望ましいポジションを通過してしまうだろう。結果的に、コントローラは、機械を望ましいポジションに戻すために補正信号を出力しなければならない。動作システムを望ましいポジションに落ち着かせる前に、そのような相互作用が繰り返し実行され、望ましくない機械振動が生じるであろう。反対に、モータに低トルクで移動するよう命令すると、初期状態の遷移の精度を高くし、機械振動を低減もしくは無くすことができであろう。しかし、望ましいポジションに機械を移動させるための時間が長くなる。理想的には、状態の遷移速度と、システムの安定性と、の間のトレードオフを最適化するために、コントローラの利得係数が選択されるべきである。コントローラの好適な利得係数の選択は、チューニングとして知られている。   Motion control system designers seek an optimal trade-off between motion speed and system stability. For example, if the controller commands the motor to transition the machine part to the target position with high torque, the machine will initially quickly shift its position from the desired position (ie, a time efficient method). But will go through the desired position due to high torque. As a result, the controller must output a correction signal to return the machine to the desired position. Such interactions will be performed repeatedly and undesirable mechanical vibrations will occur before the operating system settles into the desired position. Conversely, if the motor is commanded to move with low torque, the initial state transition accuracy could be increased and mechanical vibrations could be reduced or eliminated. However, it takes longer to move the machine to the desired position. Ideally, the controller gain factor should be selected to optimize the trade-off between state transition speed and system stability. The selection of a suitable gain factor for the controller is known as tuning.

所定の利得係数を有するコントローラの信号に対する制御される機械システムの応答は、慣性および摩擦係数を含めた機械システムの物理的な特性に依存する。慣性は、動作システムの加速および減速に対する抵抗を表す。摩擦係数は、ロータとシャフトとの間の摩擦のようなモータに見られる摩擦を表す。制御された機械システムの慣性および摩擦係数に対する正確な推定は、チューニング過程を簡略化し、システムの性能を向上させる。しかしながら、任意の機械システムに対してこれらのパラメータの正確な値を同定することは難しい。いくつかのケースでは、慣性は、モータの定格と、負荷を含めた部品の物理的データ(重さ、寸法など)と、に基づいた手計算を用いて推定される。そのような計算は、厄介であり時間がかかる。そして、これらの重要なパラメータの正確な値を得ることは難しい。   The response of the controlled mechanical system to a controller signal having a predetermined gain factor depends on the physical characteristics of the mechanical system, including inertia and coefficient of friction. Inertia represents the resistance to acceleration and deceleration of the operating system. The coefficient of friction represents the friction found in the motor, such as the friction between the rotor and the shaft. Accurate estimates for the inertia and friction coefficient of the controlled mechanical system simplify the tuning process and improve system performance. However, it is difficult to identify the exact values of these parameters for any mechanical system. In some cases, inertia is estimated using manual calculations based on the motor rating and the physical data (weight, dimensions, etc.) of the part including the load. Such calculations are cumbersome and time consuming. And it is difficult to get accurate values of these important parameters.

動作制御の他の態様では、ポジションもしくは速度の状態遷移を促すために動作プロファイルがしばしば用いられる。例えば、(制御アルゴリズムまたはユーザの要求にしたがって)コントローラが、動作システムが新しいポジションに移動またはその速度を変化させなければならないことを決定する時、動作システムをそのポジション/速度から目標ポジション/速度へ遷移させるためのポジションまたは速度の軌跡を計算しなければならない。その軌跡は、動作プロファイルとして言及され、動作プロファイルは、そのシステムが現在の状態から目標の状態に移動する時間の経過とともに動作システムの速度、加速度およびポジション、もしくは、それぞれを明らかにする。一旦、この動作プロファイルが計算されれば、コントローラは、プロファイルによって明らかにされた軌跡を通して動作システムを動かすために、動作プロファイルを適切な制御信号に変換する。   In other aspects of motion control, motion profiles are often used to facilitate position or speed state transitions. For example, when the controller determines that the motion system must move to a new position or change its speed (according to the control algorithm or user request), the motion system is moved from that position / speed to the target position / speed. The trajectory of the position or speed for making the transition must be calculated. The trajectory is referred to as the motion profile, which reveals the speed, acceleration and / or position of the motion system over time as the system moves from the current state to the target state. Once this motion profile is calculated, the controller converts the motion profile into appropriate control signals to move the motion system through the trajectory revealed by the profile.

いくつかの用途では、動作プロファイルのさまざまなセグメント(または、段階)が、予め決められたユーザ定義の制約(例えば、最大速度、最大加速度など)に基づいて計算される。そして、その制約は、動作システムの機械的な限界に対応している。これら制約、および、望ましい目標ポジションおよび速度もしくはそのいずれかを与えれば、コントローラは、望ましい動きまたは速度変化を実行するために用いられる動作プロファイルを計算する。得られる動作プロファイルは、コントローラが生成するように構成されたプロファイルの形式にも依存する。その形式は、典型的には、台形またはS曲線のプロファイルである。台形プロファイルに対し、コントローラは、3つの区別された段階、加速段階、定速度段階、減速段階にしたがって動作プロファイルを計算するだろう。そのようなプロファイルは、台形の速度曲線となる。S曲線型のプロファイルは、これらの段階の移行に対応した4つの付加的な段階を加えることにより台形プロファイルを修正する。これらの付加的な段階では、定速度(もしくはゼロ速度)段階と、定加速または定減速段階と、の間を徐々に移行することができ、より滑らかな動きを与え、その動作プロファイルのより精密な制御を可能とする。   In some applications, various segments (or stages) of the motion profile are calculated based on predetermined user-defined constraints (eg, maximum speed, maximum acceleration, etc.). The constraints then correspond to the mechanical limits of the operating system. Given these constraints and / or the desired target position and / or speed, the controller calculates the motion profile used to perform the desired movement or speed change. The resulting motion profile also depends on the type of profile that the controller is configured to generate. The format is typically a trapezoidal or S-curve profile. For trapezoidal profiles, the controller will calculate the motion profile according to three distinct phases: an acceleration phase, a constant velocity phase, and a deceleration phase. Such a profile is a trapezoidal velocity curve. The S-curve profile modifies the trapezoidal profile by adding four additional stages corresponding to these stage transitions. In these additional stages, it is possible to gradually transition between a constant speed (or zero speed) stage and a constant acceleration or constant deceleration stage, giving a smoother movement and more precise movement profile. Control is possible.

台形プロファイルは、常に、定められた最大の加速度で加速または減速を行うため、この型のプロファイルでは、S曲線プロファイルに比べて2点間の動きが速くなる傾向にある。しかしながら、台形プロファイルは、定速度(もしくはゼロ速度)段階と、加速段階と、の間の移行が急峻であり、システムに過剰ながたつきをもたらすであろう。さらに、台形の動作プロファイルを用いると、目標ポジションまたは速度に対するオーバーシュートのリスクも大きくなり精度が低下する。また、コントローラの付加的な動作、および、動作機構を望ましい目標に戻す時間が生じる。一方、S曲線プロファイルでは、定速度フェーズと、加速または減速フェーズと、の間で高精度の制御が可能となるが、2点間移動そのものに付加的な時間が生じる。   Since the trapezoidal profile always accelerates or decelerates at a predetermined maximum acceleration, this type of profile tends to move faster between two points than the S-curve profile. However, the trapezoidal profile will have a steep transition between the constant speed (or zero speed) phase and the acceleration phase, which will result in excessive rattling in the system. Furthermore, if a trapezoidal motion profile is used, the risk of overshooting with respect to the target position or speed is increased and the accuracy is lowered. There is also additional controller operation and time to return the operating mechanism to the desired goal. On the other hand, in the S curve profile, high-precision control is possible between the constant speed phase and the acceleration or deceleration phase, but additional time is generated in the movement between the two points.

上記の説明は、単に、通常の動作制御システムが当面するいくつかの課題の概要を提供することを意図するものである。通常のシステムにおける他の課題、および、ここに説明する様々な非限定的な実施形態の対比される利点は、以下の説明により明らかとなるであろう。   The above description is merely intended to provide an overview of some of the challenges facing a typical motion control system. Other challenges in a typical system and the contrasted advantages of the various non-limiting embodiments described herein will become apparent from the following description.

1以上の実施形態を基本的に理解するために、以下に概要を提示する。この概要は、すべての考慮された実施形態の全容を表すものではなく、全ての実施形態の鍵となる、または、不可欠な要素を認識させるものではなく、任意の、もしくは、全ての実施形態を説明するものでもない。その目的は、後に提示されるより詳細な説明の前奏として、簡略化された形態の1以上の実施形態の概要を提示することである。   In order to provide a basic understanding of one or more embodiments, an overview is provided below. This summary is not an exhaustive overview of all contemplated embodiments and is not intended to be a key or essential element of any embodiment, and any or all embodiments may be described. It is not something to explain. Its purpose is to present a summary of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later.

この開示の1以上の実施形態は、制御される機械システムの慣性および摩擦係数を自動的に推定するシステムおよび方法に関する。この目的を達成するために、慣性推定システムは、コントローラがモータにトルク制御信号を送るように命令することができ、トルク制御信号は、定められた最大トルク値と最小トルク値との間で時間に対し連続的に変化する。このトルク制御信号は、慣性推定システムにおいて定められたテストシーケンスに基づいて制御される。非限定的な例として、テストシーケンスは、トルク制御信号が定められた増加レートで徐々に増加し、モータを加速させることを特定できる。定められたトリガーに応答して、トルク制御信号は、ゼロまで徐々に減少し、モータを停止状態に減速させることができる。   One or more embodiments of the disclosure relate to a system and method for automatically estimating the inertia and coefficient of friction of a controlled mechanical system. To achieve this goal, the inertial estimation system can instruct the controller to send a torque control signal to the motor, and the torque control signal is timed between a defined maximum torque value and a minimum torque value. Continuously changes. This torque control signal is controlled based on a test sequence determined in the inertia estimation system. As a non-limiting example, the test sequence can specify that the torque control signal gradually increase at a defined increase rate to accelerate the motor. In response to the defined trigger, the torque control signal gradually decreases to zero and can decelerate the motor to a stopped state.

これらの加速および減速フェーズの間、慣性推定システムは、トルク制御信号に応答するモータの速度を時間に対して測定し記録する。そして、慣性演算部は、時間的に変化するトルク信号および測定された速度曲線に基づいて、機械システムの推定慣性および推定摩擦係数のいずれか、または、両方を決定する。推定慣性および推定摩擦係数、もしくは、そのいずれかは、システムの適切な制御利得の同定を容易にするため、後に使用される。   During these acceleration and deceleration phases, the inertia estimation system measures and records the motor speed in response to the torque control signal over time. Then, the inertia calculation unit determines either or both of the estimated inertia and the estimated friction coefficient of the mechanical system based on the time-varying torque signal and the measured speed curve. The estimated inertia and / or the estimated coefficient of friction are later used to facilitate identification of the appropriate control gain of the system.

この開示の他の形態は、制約条件に基づく時間的に最適化された動作プロファイルを効率てきに生成するシステムおよび方法に関係する。この目的を達成するために、コントローラの内部に配置されたプロファイル生成部は、制約条件に基づく、時間的に最適化された2点間の移動をリアルタイムに解析し、その解に基づいた軌跡を計算するために数学的なアルゴリズムを活用する。スムーズで正確な2点間の移動を得るために、プロファイル生成部は、プロファイルの加速セグメントおよび減速セグメントの少なくとも1つにおいて、時間に対し連続なジャーク基準を有するプロファイルを生成し、ST曲線タイプのプロファイルに基づいた軌跡を計算する。時間的に変化するジャーク基準を含む動作プロファイルの計算により、ここに開示されるプロファイル生成部は、通常の台形もしくはS曲線プロファイルよりもスムーズで安定した動作を創り出すことができる。   Other aspects of this disclosure relate to systems and methods that efficiently generate temporally optimized motion profiles based on constraints. In order to achieve this purpose, the profile generation unit arranged inside the controller analyzes the movement between two points optimized in time based on the constraint condition in real time, and generates a trajectory based on the solution. Utilize mathematical algorithms to calculate. In order to obtain smooth and accurate movement between two points, the profile generator generates a profile having a continuous jerk criterion with respect to time in at least one of the acceleration segment and the deceleration segment of the profile. Calculate the trajectory based on the profile. By calculating a motion profile including a time-varying jerk criterion, the profile generator disclosed herein can create a smoother and more stable motion than a normal trapezoidal or S-curve profile.

プロファイル生成部により生成されたST曲線のプロファイルは、非対称な加速および減速フェーズをサポートする。従来は、非対称な加速度および減速度は、台形プロファイルによってのみサポートされており、よりスムーズなS曲線プロファイルではサポートされていない。ここに説明される技術にしたがって生成されるST曲線は、非対称な加速度および減速度に対しよりスムーズな動作プロファイルの使用を可能とする。いくつかの実施形態では、ここに説明されるプロファイル生成部は、非対称の加速度および減速度をサポートするS曲線プロファイルも生成できる。   The profile of the ST curve generated by the profile generator supports asymmetric acceleration and deceleration phases. Traditionally, asymmetric acceleration and deceleration are only supported by the trapezoidal profile and not the smoother S-curve profile. ST curves generated according to the techniques described herein allow for the use of smoother motion profiles for asymmetric acceleration and deceleration. In some embodiments, the profile generator described herein can also generate an S-curve profile that supports asymmetric acceleration and deceleration.

他の態様では、ここに説明されるプロファイル生成部の1以上の実施形態は、最終的な軌跡で使用されない軌跡のセグメントに対して計算を省略することによりその効率を改善することができる。すなわち、1以上のセグメントが使用されないケースにおいて、プロファイルの7つの全ての段階に対しプロファイルデータを計算するよりも、ここに説明されるプロファイル生成部は、与えられた軌跡に対し、最終的な動作プロファイルで使用される段階についてのみ計算を行い、コントローラの演算負荷を減少させることができる。プロファイル生成部は、与えられた2点間の移動に対し、動作プロファイルのどのセグメントがスキップされるかを自動的に決定し、その結果、残りのセグメントを計算することができる。   In other aspects, one or more embodiments of the profile generator described herein may improve its efficiency by omitting calculations for segments of trajectories that are not used in the final trajectory. That is, in the case where one or more segments are not used, rather than calculating profile data for all seven stages of the profile, the profile generator described herein performs a final operation on a given trajectory. Calculation can be performed only for the stage used in the profile, and the calculation load of the controller can be reduced. The profile generator can automatically determine which segments of the motion profile are skipped for a given movement between two points, so that the remaining segments can be calculated.

他の態様によれば、ここに説明されるプロファイル生成部の1以上の実施形態は、プロファイルの全時間が動作コントローラのサンプリング時間の倍数となるようにすることで2点間の移動の精度および効率を向上させる。例示的な技術では、プロファイル生成部は、与えられた2点間の移動に対し、時間的に最適化された解を計算し、得られたプロファイルのそれぞれのセグメントの継続時間を決定し、これらの継続時間がサンプリング時間の倍数となるように丸めることができる。プロファイル生成部は、そのプロファイルのジャーク、加速度/減速度、速度、およびポジションを、これらの丸められた時間に適合するように再計算することができる。結果として、出力される軌跡はサンプル点に一致し、プロファイルの全時間が2つのサンプル時間の間に位置する場合に生じる小さな違いを補償する必要性が緩和される。   According to another aspect, one or more embodiments of the profile generator described herein may provide for the accuracy of the movement between two points by ensuring that the total profile time is a multiple of the motion controller sampling time. Increase efficiency. In an exemplary technique, the profile generator calculates a time-optimized solution for a given movement between two points, determines the duration of each segment of the resulting profile, and Can be rounded so that the duration of is a multiple of the sampling time. The profile generator can recalculate the jerk, acceleration / deceleration, velocity, and position of the profile to fit these rounded times. As a result, the output trajectory coincides with the sample points, alleviating the need to compensate for small differences that occur when the entire profile time is between two sample times.

以下の説明および添付された図面は、1以上の実施形態のいくつかの図示できる詳細な態様を説明する。しかしながら、これらの態様は、様々な実施形態の原理を用いることが可能な多くの方法のいくつかを示しており、説明される実施形態は、そうのような態様の全て、および、それと同等のものを含む。   The following description and the annexed drawings set forth some illustrative details of the one or more embodiments. However, these aspects illustrate some of the many ways in which the principles of the various embodiments can be used, and the described embodiments are equivalent to all such aspects and equivalents. Including things.

簡略化された閉ループ動作制御の構成を表すブロック図である。It is a block diagram showing the structure of simplified closed loop operation control. 非限定的な慣性推定システムを例示するブロック図である。1 is a block diagram illustrating a non-limiting inertia estimation system. 慣性推定器に関連する入出力を表すブロック図である。It is a block diagram showing the input / output relevant to an inertia estimator. 慣性推定器と、動作制御システムと、の間の相互作用を表すブロック図である。It is a block diagram showing the interaction between an inertia estimator and a motion control system. トルクコマンドu(t)と、対応するフィードバック速度v(t)と、を時間に対して例示するグラフである。It is a graph which illustrates torque command u (t) and corresponding feedback speed v (t) with respect to time. 慣性部と摩擦係数部とを有する慣性推定器を表すブロック図である。It is a block diagram showing the inertia estimator which has an inertia part and a friction coefficient part. 慣性推定器が動作コントローラと比較される独立要素として機能する構成を例示するブロック図である。It is a block diagram which illustrates the structure which an inertia estimator functions as an independent element compared with a motion controller. 慣性推定器によって生成された推定慣性および摩擦係数を用いる動作制御チューニングの応用例を表すブロック図である。It is a block diagram showing the application example of motion control tuning using the estimated inertia and friction coefficient which were produced | generated by the inertia estimator. 制御された機械システムに対する慣性および摩擦係数を推定するための手順を例示するフローチャートである。6 is a flowchart illustrating a procedure for estimating inertia and coefficient of friction for a controlled mechanical system. 慣性および摩擦係数を推定するために、動作制御システムのテストシーケンスを実行する手順を例示するフローチャートである。It is a flowchart which illustrates the procedure which performs the test sequence of a motion control system, in order to estimate an inertia and a friction coefficient. 動作制御システムにおける動作プロファイルの生成が可能な動作プロファイル生成システムを例示するブロック図である。It is a block diagram which illustrates the operation profile generation system which can generate the operation profile in an operation control system. プロファイル生成器を用いる動作コントローラを例示するブロック図である。FIG. 3 is a block diagram illustrating an operation controller using a profile generator. 例示されたポジションプロファイル生成器の入出力を表すブロック図である。FIG. 3 is a block diagram illustrating input and output of an exemplary position profile generator. 例示された速度プロファイル生成器の入出力を表すブロック図である。FIG. 3 is a block diagram representing inputs and outputs of an illustrated speed profile generator. 通常の台形およびS曲線プロファイルと、例示されたSTプロファイルを比較するグラフである。It is a graph which compares a normal trapezoidal and S curve profile, and illustrated ST profile. すべての7つの段階を用いたS曲線プロファイルを例示するグラフである。Fig. 6 is a graph illustrating an S-curve profile using all seven stages. 定速度段階を省いたS曲の線動作プロファイルを例示するグラフである。It is a graph which illustrates the line motion profile of S music which omitted the constant speed step. 定加速および定減速段階を省いたS曲線プロファイルを例示するグラフである。It is a graph which illustrates the S curve profile which excluded the constant acceleration and the constant deceleration stage. 定加速、定速度および定減速段階を省いたS曲線プロファイルを例示するグラフである。It is a graph which illustrates the S curve profile which excluded the constant acceleration, the constant speed, and the constant deceleration stage. 動作制御システムにおける2点間移動のための動作プロファイルを計算する手順を例示するフローチャートである。It is a flowchart which illustrates the procedure which calculates the operation profile for the movement between two points in an operation control system. 動作コントローラのサンプリング時間にしたがった制約に基づく時間的な最適動作プロファイルの計算の手順を例示するフローチャートである。It is a flowchart which illustrates the procedure of calculation of the time optimal motion profile based on the restrictions according to the sampling time of a motion controller. セグメントを省略して2点間移動を行うための動作プロファイルを計算する手順を例示するフローチャートである。It is a flowchart which illustrates the procedure which calculates the motion profile for omitting a segment and performing a movement between two points. ここに説明する1以上の実施形態を実施するためのネットワーク化もしくは分散化された演算環境を例示するブロック図である。FIG. 3 is a block diagram illustrating a networked or distributed computing environment for implementing one or more embodiments described herein. ここに説明する1以上の実施形態を実施するための演算システムもしくは動作環境を例示するブロック図である。FIG. 2 is a block diagram illustrating a computing system or operating environment for implementing one or more embodiments described herein.

図を参照しながら、いくつかの実施形態を説明する。図中の類似する符号は、類似する要素を表す。以下の説明における多数の具体的な詳細は、説明を目的とし、この開示を理解するために提供される。しかしながら、実施形態は、これらの具体的な詳細なしに、もしくは、他の方法、要素、材料などを用いて実施可能である。他の例として、構造および装置は、1以上の実施形態の説明を容易にするためにブロック図の形態で示される。   Several embodiments will be described with reference to the drawings. Similar symbols in the figures represent similar elements. Numerous specific details in the following description are provided for the purpose of explanation and understanding of this disclosure. However, embodiments may be practiced without these specific details or with other methods, elements, materials, and the like. As another example, structures and devices are shown in block diagram form in order to facilitate describing one or more embodiments.

ここで説明されるシステムおよび方法は、制御された機械システムのための慣性および摩擦係数の推定値を生成する技術に関する。ここに開示される1以上の実施形態では、以下に詳細に明らかにされるテストシーケンスを通して機械システムを動作させることにより、これらのパラメータを実質的に自動的に推定することができる。このテストシーケンスの結果は、そのシステムに対して推定される正確な慣性および摩擦係数を生成するために用いることができる。これら推定されたパラメータは、実質的に、簡略化された正確なチューニングおよび動作システムの制御を容易にするために用いることができる。   The systems and methods described herein relate to techniques for generating inertia and coefficient of friction estimates for a controlled mechanical system. In one or more embodiments disclosed herein, these parameters can be estimated substantially automatically by operating the mechanical system through a test sequence that will be described in detail below. The result of this test sequence can be used to generate an accurate inertia and coefficient of friction estimated for the system. These estimated parameters can be used substantially to facilitate simplified precise tuning and control of the operating system.

(慣性および摩擦係数の推定)
図1は、簡略化された閉ループ動作制御の構造を表している。コントローラ102は、機械的負荷106を動かすモータ104を制御するようプログラムされている。コントローラ102、モータ104および負荷106は、例示される動作制御システムの基本的な要素を含む。非限定的に例示される用途では、負荷106は、単軸もしくは多軸ロボットの1つの軸、または、ポジショニングシステムを表す。そのような用途では、コントローラ102は、負荷106を望ましいポジションに望ましいスピードで移動させることをモータ104に命令する制御信号108を送る。制御信号108は、モータ104に直接与えても良いし、モータ104に供給する電力(および、モータのスピードと方向)を制御するモータ駆動部(図示しない)に与えても良い。フィードバック信号110は、モータ104または負荷106、もしくは、その両者の現状態(すなわち、ポジション、速度など)を実質的にリアルタイムで示す。サーボ駆動システムでは、例えば、モータの絶対的または相対的なポジションを追跡する符号化器または解析器(図示しない)によりフィードバック信号110を生成できる。速度センサを欠くセンサ無しのシステムでは、フィードバック信号は、スピードまたはポジション推定器により提供される。移動動作の間、コントローラは、ロード106が正確に目標のポジションに到達するようにフィードバック信号110を監視する。コントローラ102は、フィードバック信号110により示される現実のポジションを目標のポジションと比較し、現実および目標のポジション間の誤差を減少または無くすように制御信号108を調整する。
(Estimation of inertia and friction coefficient)
FIG. 1 shows a simplified closed loop motion control structure. The controller 102 is programmed to control the motor 104 that moves the mechanical load 106. Controller 102, motor 104 and load 106 include the basic elements of the illustrated motion control system. In a non-limiting example application, the load 106 represents one axis or positioning system of a single-axis or multi-axis robot. In such an application, the controller 102 sends a control signal 108 that instructs the motor 104 to move the load 106 to the desired position at the desired speed. The control signal 108 may be given directly to the motor 104, or may be given to a motor drive unit (not shown) that controls the power supplied to the motor 104 (and the speed and direction of the motor). The feedback signal 110 indicates the current state (ie, position, speed, etc.) of the motor 104 and / or load 106 in substantially real time. In a servo drive system, the feedback signal 110 can be generated by, for example, an encoder or analyzer (not shown) that tracks the absolute or relative position of the motor. In sensorless systems that lack a speed sensor, the feedback signal is provided by a speed or position estimator. During the move operation, the controller monitors the feedback signal 110 so that the load 106 reaches the target position accurately. The controller 102 compares the actual position indicated by the feedback signal 110 with the target position and adjusts the control signal 108 to reduce or eliminate errors between the actual and target positions.

他の例示的な用途では、負荷106は、モータ104で駆動される回転負荷(例えば、ポンプ、洗浄機、遠心分離器など)を表し、コントローラ102は、負荷の回転速度を制御する。この例では、コントローラ102は、モータ104に(制御信号108を介して)第1速度から第2速度へ移行する命令を与え、フィードバック信号110に基づいて制御信号108に必要な調整を行う。本用途のパラメータの推定技術は、上記の動作制御システムの例示された形式を用いることに限定されるのではなく、いかなる動作制御の用途にも好適に応用できることが認識されるべきである。   In other exemplary applications, load 106 represents a rotary load (eg, pump, washer, centrifuge, etc.) driven by motor 104, and controller 102 controls the rotational speed of the load. In this example, the controller 102 gives the motor 104 a command to transition from the first speed to the second speed (via the control signal 108) and makes the necessary adjustments to the control signal 108 based on the feedback signal 110. It should be appreciated that the parameter estimation technique for this application is not limited to using the illustrated form of the motion control system described above, but can be suitably applied to any motion control application.

望ましいポジションまたは速度と、目標のポジションまたは速度と、の間の誤差(フィードバック信号110により伝えられる)に応答してコントローラ102によって生成される制御信号出力は、制御ループの利得係数に依存する。好適な利得の選定は、制御を受ける機械システムの物理的な特性に依存するため、設計技術者は、しばしば試行錯誤的な手法(すなわち、制御ループのチューニング)を用いて好適な利得係数を明らかにしなければならない。例えば、大きな慣性(加速または減速に対する抵抗)を有する機械システム、特に、目標のポジションまたは速度への速い収束が求められる用途では、新しいポジションまたは速度へ動き出すために比較的大きな初期トルクを必要とするだろう。しかしながら、大きなトルクは、オーバーシュートの可能性を大きくし、システムを目標に戻す逆補正を必要とする。最適な利得設定をしない場合、目標のポジションまたは速度に落ち着く前に、システムは補正のための相互作用を実施するため、望まない機械振動が生じる。そのような振動は、システムを不安定とし、システム遅延を生じさせる。そして、システムを安定させるために求められる付加的な動作の結果として過剰な電力を消費する。機械システムが与えられる制御信号に応答する程度にモータの摩擦も影響し、制御システムをチューニングする場合に考慮すべき因子となる。   The control signal output generated by the controller 102 in response to an error (transmitted by the feedback signal 110) between the desired position or speed and the target position or speed depends on the gain factor of the control loop. Since the choice of a suitable gain depends on the physical characteristics of the mechanical system being controlled, design engineers often use a trial and error approach (ie, control loop tuning) to determine the preferred gain factor. Must be. For example, mechanical systems with large inertia (resistance to acceleration or deceleration), especially applications that require fast convergence to a target position or speed, require a relatively large initial torque to move to a new position or speed right. However, large torque increases the likelihood of overshoot and requires reverse correction to return the system to the target. Without an optimal gain setting, the system will perform a compensating interaction before it settles to the target position or speed, resulting in unwanted mechanical vibrations. Such vibrations can make the system unstable and cause system delays. And excessive power is consumed as a result of the additional operations required to stabilize the system. The friction of the motor also affects the degree to which the mechanical system responds to the given control signal, which is a factor to consider when tuning the control system.

機械システムの慣性および摩擦係数の正確な推定値を知れば、制御システムのチューニングは、簡略化できる。これらのパラメータの知識は、動作中のシステムの性能も向上させる。これに応じて、本用途の1以上の実施形態では、制御された機械システムの慣性および摩擦係数を、実質的に自動化された態様で正確に推定することができる。   Knowing an accurate estimate of the inertia and friction coefficient of the mechanical system can simplify the tuning of the control system. Knowledge of these parameters also improves the performance of the operating system. Accordingly, in one or more embodiments of the present application, the inertia and friction coefficient of the controlled mechanical system can be accurately estimated in a substantially automated manner.

図2は、機械システムの慣性および摩擦係数の推定値を生成できる非限定的な慣性の推定システムを例示するブロック図である。慣性推定器202は、トルクコマンド生成部204、速度監視部206、慣性演算部208、摩擦係数演算部210、インターフェース部212、1以上のプロセッサ214およびメモリ216を含む。多様な実施形態において、トルクコマンド生成部204、速度監視部206、慣性演算部208、摩擦係数演算部210、インターフェース部212、1以上のプロセッサ214およびメモリ218のうちの1つ以上は、慣性推定器202の1以上の機能を実行するために、相互に電気的もしくは通信可能に結合でき、また、相互に電気的および通信可能に結合できる。   FIG. 2 is a block diagram illustrating a non-limiting inertia estimation system that can generate an estimate of the inertia and friction coefficient of a mechanical system. The inertia estimator 202 includes a torque command generation unit 204, a speed monitoring unit 206, an inertia calculation unit 208, a friction coefficient calculation unit 210, an interface unit 212, one or more processors 214, and a memory 216. In various embodiments, one or more of the torque command generator 204, the speed monitor 206, the inertia calculator 208, the friction coefficient calculator 210, the interface 212, the one or more processors 214, and the memory 218 may perform inertia estimation. In order to perform one or more functions of the vessel 202, they can be electrically or communicably coupled to each other and can be electrically and communicably coupled to each other.

いくつかの実施形態では、トルクコマンド生成部204、速度監視部206、慣性演算部208、摩擦係数演算部210およびインターフェース部212は、メモリ216に記憶され、プロセッサ214により実行されるソフトウェアの命令を含む。慣性推定器202は、図2に表されない他のハードウェアおよびソフトウェア部品とも相互に作用できる。例えば、プロセッサ214は、キーボード、マウス、表示モニター、タッチスクリーン、もしくは、他のインターフェース器機など、1以上の外部ユーザとのインターフェース装置と相互作用する。   In some embodiments, the torque command generator 204, the speed monitor 206, the inertia calculator 208, the friction coefficient calculator 210, and the interface 212 are stored in the memory 216 and execute software instructions executed by the processor 214. Including. Inertial estimator 202 can also interact with other hardware and software components not represented in FIG. For example, the processor 214 interacts with an interface device with one or more external users, such as a keyboard, mouse, display monitor, touch screen, or other interface device.

インターフェース部212は、ユーザの入力を受け入れ、任意の好適な形式(例えば、視覚、音声、触覚など)によりユーザに出力を提供する。ユーザの入力は、例えば、慣性推定シーケンス(以下に詳細に説明される)を実行する際に慣性推定器で使用されるユーザ入力のパラメータでも良い。トルクコマンド生成部204は、定義されたテストシーケンスにしたがって、時間的に連続して変化するトルク制御命令を出力するように構成できる。速度監視部206は、機械システムの速度データを慣性および摩擦係数の計算に使用するために受信することができる。いくつかの実施形態では、速度監視部206は、トルクコマンド生成部204によって生成されたトルク制御命令が適用され、それに応答したモータの速度を測定し記録する。また、速度監視部206は、別の測定器具から測定された速度データを受信することもできる。慣性演算部208および摩擦係数演算部210は、トルクコマンド生成部204により生成された時間的に変化するトルクコマンド、および、速度監視部206により取得された速度曲線に基づいて、慣性および摩擦係数をそれぞれ計算するように構成される。1以上のプロセッサ214は、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、以下に説明される1つ以上の機能を実施する。メモリ216は、コンピュータが読み取り可能な記憶媒体であれば良く、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、以下に説明される機能を実施するために、コンピュータが実行可能な命令および情報、もしくはそのいずれかを記憶する。   The interface unit 212 accepts user input and provides output to the user in any suitable format (eg, visual, audio, tactile, etc.). The user input may be, for example, user input parameters used in the inertia estimator when executing an inertia estimation sequence (described in detail below). The torque command generation unit 204 can be configured to output a torque control command that changes continuously in time according to a defined test sequence. Speed monitor 206 may receive mechanical system speed data for use in inertia and coefficient of friction calculations. In some embodiments, the speed monitor 206 is applied with the torque control command generated by the torque command generator 204 and measures and records the motor speed in response thereto. The speed monitoring unit 206 can also receive speed data measured from another measuring instrument. The inertia calculation unit 208 and the friction coefficient calculation unit 210 calculate the inertia and the friction coefficient based on the time-varying torque command generated by the torque command generation unit 204 and the speed curve acquired by the speed monitoring unit 206. Each is configured to calculate. One or more processors 214 perform one or more functions described below with reference to the disclosed systems and / or methods. The memory 216 may be any computer-readable storage medium and can be executed by a computer to perform the functions described below with reference to the disclosed system and / or method. Store instructions and / or information.

慣性推定器は、テストシーケンスを通してシステムを動作させ、その結果に基づいて推定値を計算することにより機械システムの慣性および摩擦係数に対する推定値を生成する。図3は、慣性推定器302(慣性推定器202に類似)に関連する入出力を表すブロック図である。慣性推定器302は、動作システムを駆動するモータに、与えられたトルクで特定された方向に回転することを命令するトルクコマンド310を生成することができる。一定のトルク値の間の遷移を突発的なステップで生じさせ、結果としてステップ状のトルクを出力させる1つ以上の一定のトルクコマンドを発するよりも、慣性推定器302は、最大および最小のトルク値の間でトルク値が時間に対して連続的に変化するようにトルクコマンド310を制御する。以下により詳細に議論するように、ユーザが定義したパラメータを有するテストシーケンスにしたがって、慣性推定部302は、トルクコマンド310を介して出力されるトルク値を制御する。   The inertia estimator generates an estimate for the inertia and friction coefficient of the mechanical system by operating the system through a test sequence and calculating an estimate based on the result. FIG. 3 is a block diagram representing inputs and outputs associated with inertia estimator 302 (similar to inertia estimator 202). Inertial estimator 302 can generate a torque command 310 that commands the motor driving the operating system to rotate in the direction specified by the applied torque. Rather than issuing one or more constant torque commands that cause transitions between constant torque values to occur in sudden steps, resulting in a stepped torque output, inertia estimator 302 can generate maximum and minimum torques. The torque command 310 is controlled so that the torque value changes continuously with respect to time. As will be discussed in more detail below, inertia estimator 302 controls the torque value output via torque command 310 according to a test sequence having user-defined parameters.

動作システムは、慣性推定器から出されたトルクコマンド310にしたがって加速または減速を行い、動作制御システムからの速度帰還304が慣性推定器302に与えられる。速度帰還304は、動作システムの速度を時間に対して表す。例示されたテストシーケンスでは、慣性推定器302は、速度帰還304およびユーザにより定義された1以上の設定点の関数としてトルクコマンド310を制御することができる。ユーザ定義の設定点は、トルクコマンド信号の上限および下限を決める1以上の限界トルク306、および、トリガー速度値を決める1以上の速度検出点308、または、そのいずれかを含む。トリガー速度値は、トルクコマンド310を制御するため、および、推定値を生成するために使用される。   The motion system accelerates or decelerates according to the torque command 310 issued from the inertia estimator, and the velocity feedback 304 from the motion control system is provided to the inertia estimator 302. Speed feedback 304 represents the speed of the operating system with respect to time. In the illustrated test sequence, inertia estimator 302 can control torque command 310 as a function of speed feedback 304 and one or more set points defined by the user. The user-defined set points include one or more limit torques 306 that determine the upper and lower limits of the torque command signal and / or one or more speed detection points 308 that determine the trigger speed value. The trigger speed value is used to control the torque command 310 and to generate an estimate.

テストシーケンスを完了すると、慣性推定器302は、動作システムの慣性の推定値312および動作システムの摩擦係数の推定値314を生成する。慣性推定器302は、動作システムに出力され、速度帰還304に対応するトルクコマンド310に基づいてこれらの推定値を決定する。1以上の実施形態において、慣性推定器302は、トルク曲線(トルクコマンド310に対応)および速度曲線(速度帰還304に対応)の選択された部分を時間に対して積分し、これら積分の関数として推定慣性312および推定摩擦係数314を計算することができる。   Upon completion of the test sequence, inertia estimator 302 generates motion system inertia estimate 312 and motion system friction coefficient estimate 314. Inertial estimator 302 is output to the operating system and determines these estimates based on torque command 310 corresponding to speed feedback 304. In one or more embodiments, the inertia estimator 302 integrates selected portions of the torque curve (corresponding to the torque command 310) and the velocity curve (corresponding to the speed feedback 304) over time and as a function of these integrals. An estimated inertia 312 and an estimated friction coefficient 314 can be calculated.

図4は、例示されたテストシーケンスを実行する間の慣性推定器と動作制御システムとの相互作用を表している。この例では、動作システム424は、コントローラ418により与えられる制御信号420に応答するモータ424を含む。モータ424は、ポジション軸、機械の回転部または他のモータ駆動の負荷のような負荷(図示しない)を駆動するために用いられる。コントローラ418は、モータ424のリアルタイムの状態を示すデータ(例えば、ポジション、スピードなど)を与えるフィードバック422を監視する。   FIG. 4 illustrates the interaction of the inertia estimator and the motion control system during execution of the illustrated test sequence. In this example, operating system 424 includes a motor 424 that is responsive to a control signal 420 provided by controller 418. The motor 424 is used to drive a load (not shown), such as a position shaft, a rotating part of the machine, or other motor driven load. Controller 418 monitors feedback 422 that provides data (eg, position, speed, etc.) indicating the real-time state of motor 424.

図示した例では、慣性推定器402は、コントローラ418から分離した要素として明示されている。このような構成では、慣性推定器402は、コントローラ418または動作システム424の他の要素と、任意の好適な通信手段を介してデータをやりとりすることができる。通信手段は、有線または無線のネットワーク、配線されたデータリンクもしくは他の通信手段を含むが、これらに限定される訳では無い。他の実施形態では、慣性推定器402は、コントローラ418に統合されても良い。例えば、慣性推定器402は、コントローラのオペレーティングシステムの機能部、および、コントローラ418上に存在する1以上のプロセッサにより実行される制御ソフトウェア、もしくは、そのいずれかであっても良い。また、慣性推定器402は、コントローラ418の中で他の機能要素とデータをやり取りする回路基板または集積回路のようなハードウェア部品であっても良い。慣性推定器402の他の好適な実施は、本開示のいくつかの実施形態の範疇にある。   In the illustrated example, inertia estimator 402 is specified as a separate element from controller 418. In such a configuration, the inertia estimator 402 can exchange data with the controller 418 or other elements of the operating system 424 via any suitable communication means. Communication means include, but are not limited to, wired or wireless networks, wired data links or other communication means. In other embodiments, inertia estimator 402 may be integrated into controller 418. For example, the inertia estimator 402 may be a function part of an operating system of the controller and / or control software executed by one or more processors existing on the controller 418. The inertia estimator 402 may be a hardware component such as a circuit board or an integrated circuit that exchanges data with other functional elements in the controller 418. Other suitable implementations of inertia estimator 402 are within the scope of some embodiments of the present disclosure.

試験の前に、1以上のユーザ定義のパラメータ412が、インターフェース部406(図2に関連して説明したインターフェース部212に類似)を介して慣性推定器402に与えられる。これらのパラメータは、トルクコマンド生成部408(図2のトルクコマンド性西部204に類似)により生成されるトルクコマンドの上限および下限を決める最大トルクumaxおよび最小トルクuminを含む。いくつかの実施形態では、慣性推定器402は、ユーザにより決定される最大トルクumaxのみを必要とし、決定された最大トルクの大きさを進行方向および逆方向の両方に対する限界値として用いる。他の実施形態では、慣性推定器402は、umaxおよびuminの両方の値を受け入れ、進行方向および逆方向のそれぞれに対し、異なるトルク設定点を許容する。umaxおよびuminに対して選択された値は、動作システム424の予定された動作限界に対応し、これにより、システムのトルクプロファイル全体に対する動作システム424の特性に基づいて慣性および摩擦係数を決定することが許容される。以下により詳細に説明するように、ユーザ定義のパラメータ412は、テストシーケンスの段階を定義するために用いられる臨界速度を決める1以上の速度検出点(v1、v2、v3、・・・)も含む。 Prior to testing, one or more user-defined parameters 412 are provided to the inertia estimator 402 via an interface unit 406 (similar to the interface unit 212 described in connection with FIG. 2). These parameters include a maximum torque u max and a minimum torque u min that determine an upper limit and a lower limit of a torque command generated by the torque command generation unit 408 (similar to the torque command property western portion 204 of FIG. 2). In some embodiments, the inertia estimator 402 requires only the maximum torque u max determined by the user and uses the determined magnitude of the maximum torque as a limit value for both the direction of travel and the reverse direction. In other embodiments, the inertia estimator 402 accepts both u max and u min values and allows different torque setpoints for each direction of travel and reverse. The values selected for u max and u min correspond to the scheduled operating limits of the operating system 424, thereby determining the inertia and coefficient of friction based on the characteristics of the operating system 424 relative to the overall torque profile of the system. Is allowed to do. As will be described in more detail below, the user-defined parameter 412 also includes one or more speed detection points (v1, v2, v3,...) That determine the critical speed used to define the stages of the test sequence. .

インターフェース部は、ユーザ定義のパラメータ412をトルクコマンド生成部408に与える。試験を開始したとき、トルクコマンド生成部408は、動作システム424にトルクコマンド414を出力する。トルクコマンド生成部408は、時間に対して連続的にトルクコマンドを変化させるため、トルクコマンド414は、u(t)のように表される。図4に表された構成では、慣性推定器402は、トルクコマンド414をコントローラ418に送り、コントローラ418は、モータ424に指示された方向に、指示されたトルクで回転するように(制御信号420を介して)命令する。モータの回転にしたがい、速度監視部410は、コントローラ418から速度データ416を読み取る。(コントローラ418自身は、フィードバック422を介してモータ424の速度を計測する。)時間に対して測定された速度416は、v(t)のように表される。   The interface unit provides a user-defined parameter 412 to the torque command generation unit 408. When the test is started, the torque command generator 408 outputs a torque command 414 to the operation system 424. Since the torque command generation unit 408 continuously changes the torque command with respect to time, the torque command 414 is expressed as u (t). In the configuration shown in FIG. 4, the inertia estimator 402 sends a torque command 414 to the controller 418 so that the controller 418 rotates in the direction indicated by the motor 424 with the indicated torque (control signal 420). Command). The speed monitoring unit 410 reads speed data 416 from the controller 418 according to the rotation of the motor. (The controller 418 itself measures the speed of the motor 424 via the feedback 422.) The speed 416 measured against time is expressed as v (t).

試験の進行にしたがい、トルクコマンド生成部408は、予め決定されたテストシーケンスにしたがってトルクコマンド414を変化させ、テストシーケンスの各フェーズは、ユーザ定義のパラメータ412に比較された速度帰還416により開始される。テストシーケンスの例は、トルクコマンドu(t)の例、および、対応する速度帰還v(t)を時間に対するグラフで示した図5を参照して以下に説明される。トルクのグラフ502に示すように、トルクコマンド信号u(t)は、umaxおよびuminにより拘束される。速度グラフ504に示された速度監視点v1、v2およびv3は、テストシーケンスのフェーズの移行を決定する。umax、umin、v1、v2およびv3の値は、(例えば、図4のユーザ定義のパラメータ412のように)試験の前にユーザにより決定される。 As the test progresses, the torque command generator 408 changes the torque command 414 according to a predetermined test sequence, and each phase of the test sequence is initiated by a speed feedback 416 compared to a user-defined parameter 412. The An example test sequence is described below with reference to FIG. 5 which shows an example of a torque command u (t) and a corresponding speed feedback v (t) as a graph over time. As shown in the torque graph 502, the torque command signal u (t) is constrained by u max and u min . The speed monitoring points v1, v2, and v3 shown in the speed graph 504 determine the phase transition of the test sequence. The values of u max , u min , v 1, v 2, and v 3 are determined by the user prior to testing (eg, as user-defined parameter 412 in FIG. 4).

時間t=0(ゼロ)において試験を開始したとき、適用されるトルク信号u(t)およびモータ速度v(t)は、共にゼロである。最初に、トルクコマンド生成部は、負のトルク信号を動作システムに送り、動作システムを負の方向に加速する。この試験の第1フェーズでは、トルクコマンド生成部は、モータ速度v(t)がv1に達するか、トルクコマンドu(t)がuminに達するまで、トルクコマンドu(t)を徐々に減少させる。この例では、モータ速度v(t)は、時間t=tにおいてv1に達し、試験の第2フェーズを開始させる。グラフ502に示すように、トルクコマンドu(t)は、時間t=とt=tとの間において、実質的に一定のレートで連続的に減少する。1以上の実施形態において、トルクコマンドが減少または増加するレート(すなわち、u(t)の傾き)は、(例えば、インターフェース部406を介した)慣性推定器402のユーザ定義のパラメータとして構成できる。 When the test is started at time t = 0 (zero), the applied torque signal u (t) and motor speed v (t) are both zero. Initially, the torque command generator sends a negative torque signal to the operating system to accelerate the operating system in the negative direction. In the first phase of the test, the torque command generation unit gradually decreases the torque command u (t) until the motor speed v (t) reaches v1 or the torque command u (t) reaches u min . . In this example, the motor speed v (t) reaches v1 at time t = t 1 and starts the second phase of the test. As shown in graph 502, the torque command u (t) continuously decreases at a substantially constant rate between times t = 0 and t = t 1 . In one or more embodiments, the rate at which torque commands decrease or increase (ie, the slope of u (t)) can be configured as a user-defined parameter of inertia estimator 402 (eg, via interface 406).

試験の第2フェーズ(時間t=tにおいて開始)に対して、トルクコマンド生成部は、モータ速度v(t)が速度検出点v3に達するか、トルクコマンドu(t)がトルク設定点umaxに達するまで、トルクコマンドu(t)を徐々に増加させる。この例では、トルクコマンドu(t)は、モータ速度v(t)が速度検出点v3に達する前に、上限umaxに達している。モータは、この時点でまだ加速しているため、トルクコマンド生成部は、速度v(t)がv3に達するまで、トルクコマンド信号をumaxに維持する。速度グラフ504に表されるように、モータ速度は、時間t=tにおいてv3に達する。速度v(t)が、トルクコマンド信号がumaxに達した後、定義された時間までに速度検出点v3に達しなければ(すなわち、速度検出点v3が何かの理由で動作システムの物理的な限界速度よりも高く設定されたとすれば)、慣性推定器は、好適なタイムアウト処理ルーティンを始めることができる。タイムアウト処理ルーティンは、例えば、テストシーケンスを中断し、インターフェース部406を介してエラーメッセージを表示することを含む。 For the second phase of the test (starting at time t = t 1 ), the torque command generation unit determines whether the motor speed v (t) reaches the speed detection point v3 or the torque command u (t) is the torque set point u. The torque command u (t) is gradually increased until max is reached. In this example, the torque command u (t) reaches the upper limit umax before the motor speed v (t) reaches the speed detection point v3. Since the motor is still accelerating at this time, the torque command generator maintains the torque command signal at u max until the speed v (t) reaches v3. As represented in the speed graph 504, the motor speed reaches the v3 at time t = t 4. If the speed v (t) does not reach the speed detection point v3 by a defined time after the torque command signal reaches u max (ie, the physical speed of the operating system for whatever reason the speed detection point v3 is If it is set higher than the critical speed), the inertia estimator can initiate a suitable timeout processing routine. The timeout processing routine includes, for example, interrupting the test sequence and displaying an error message via the interface unit 406.

このフェーズの間、動作システムはv3に向けて加速しているので、速度は、テストシーケンスの加速フェーズを示す速度検出点v2を通過する。以下により詳細に議論するように、速度検出点v2は、ゼロより大きく、v3より小さく設定され、テストシーケンスの加速フェーズの開始と、減速フェーズの終了と、を表すために用いられる。   During this phase, the operating system is accelerating towards v3, so the speed passes through the speed detection point v2, which indicates the acceleration phase of the test sequence. As will be discussed in more detail below, speed detection point v2 is set to be greater than zero and less than v3 and is used to represent the start of the acceleration phase and the end of the deceleration phase of the test sequence.

モータ速度がv3に達したことを検出すれば、トルクコマンド生成部は、時間t=tにおいてトルクコマンドu(t)を徐々に減少させることにより、試験の第3フェーズを開始する。トルクコマンドu(t)が減少するにしたがい、モータは、トルクコマンドu(t)の値が動作システムの摩擦力よりも小さくなるまで、しばらくの間、加速を続ける。そして、トルクコマンドu(t)の値が動作システムの摩擦力よりも小さくなった時、モータは減速を開始する。モータは、時間t=tにおいて速度がv3に達した時、まだ加速しているため、トルクコマンドが減少を始めた後も、いくらかの時間の間、v3を越えた状態を続ける。テストシーケンスの定義にしたがって、トルクコマンド生成部は、モータ速度v(t)が速度検出点v3に戻る(時間t=t6)まで、u(t)を減少させ続ける。その後、モータ速度v(t)が速度検出点v2に戻る(時間t=t7)まで、u(t)を一定に保持する。この時点で、慣性推定器は、機械システムの慣性および摩擦係数の推定を計算するために必要なデータを取得する。トルクコマンド生成器は、トルクコマンド信号u(t)をゼロに戻し(時間t=t8)、グラフ504に表すように、v(t)曲線の端を漸減させることにより、動作システムを惰性で停止させる。 If detecting that the motor speed has reached the v3, the torque command generator, by gradually decreasing the torque command u (t) at time t = t 4, starts a third phase of the study. As the torque command u (t) decreases, the motor continues to accelerate for a while until the value of the torque command u (t) is less than the friction force of the operating system. When the value of the torque command u (t) becomes smaller than the frictional force of the operating system, the motor starts to decelerate. Motor, when the speed reaches the v3 at time t = t 3, since the still accelerated, even after the torque command began to decrease, during some time, continued state beyond the v3. According to the definition of the test sequence, the torque command generator continues to decrease u (t) until the motor speed v (t) returns to the speed detection point v3 (time t = t6). Thereafter, u (t) is kept constant until the motor speed v (t) returns to the speed detection point v2 (time t = t7). At this point, the inertia estimator obtains the data necessary to calculate the inertia and friction coefficient estimates for the mechanical system. The torque command generator returns the torque command signal u (t) to zero (time t = t8) and gradually stops the operating system by gradually decreasing the end of the v (t) curve as shown in the graph 504. Let

図5に関連して説明した上記のテストシーケンスは、一例を表すことを意図するだけであり、テストシーケンスを限定するものではない。時間に対してトルクコマンドu(t)を連続的に変化させ、動作システムの対応する速度プロファイルv(t)を測定する任意の好適なテストシーケンスは、ここに開示されたいくつかの実施形態の範疇にあることが理解されるべきである。例えば、前述した例では、それぞれの速度検出点に到達した速度v(t)に応答して方向を変化させるトルクコマンドu(t)を説明したが、いくつかのテストシーケンスでは、トルクコマンドの方向は変化させずに、速度検出点に到達した時、トルクコマンドu(t)の増加もしくは減少のレートを変えるだけのフェーズを含んでも良い(すなわち、増加するトルクコマンドは、フェーズ検出点に到達したv(t)に応答し、よりゆっくりしたレートで増加を続けても良い)。   The above test sequence described in connection with FIG. 5 is only intended to represent an example and does not limit the test sequence. Any suitable test sequence that continuously varies the torque command u (t) with respect to time and measures the corresponding speed profile v (t) of the operating system can be obtained from some embodiments disclosed herein. It should be understood that it is in category. For example, in the above-described example, the torque command u (t) that changes the direction in response to the speed v (t) that has reached each speed detection point has been described. However, in some test sequences, the direction of the torque command May include a phase that only changes the rate of increase or decrease of the torque command u (t) when the speed detection point is reached without changing (that is, the increasing torque command has reached the phase detection point) Responsive to v (t) and may continue to increase at a slower rate).

前述したテストシーケンスを実施する場合、慣性推定器402は、トルクコマンド生成部408により生成されたトルクコマンド信号u(t)と、速度監視部410により読み取られた対応するモータ速度v(t)の両方を記録する。これらのトルク曲線および速度曲線は、慣性および摩擦係数の正確な推定値をその曲線に基づいて計算できるように、動作システム424を特徴付ける。1以上の実施形態において、慣性推定器は、u(t)およびv(t)の積分に基づいてこれらの推定値を計算する。次に、動作システムに対する慣性および摩擦係数の推定値を導き出すためにu(t)およびv(t)の積分を活用する非限定的な技術を例示する。   When the test sequence described above is performed, the inertia estimator 402 compares the torque command signal u (t) generated by the torque command generator 408 and the corresponding motor speed v (t) read by the speed monitor 410. Record both. These torque and speed curves characterize the motion system 424 so that accurate estimates of inertia and coefficient of friction can be calculated based on the curves. In one or more embodiments, the inertia estimator calculates these estimates based on the integral of u (t) and v (t). The following illustrates a non-limiting technique that exploits the integral of u (t) and v (t) to derive an estimate of inertia and coefficient of friction for the motion system.

動作システムは、微分方程式で表すことができる。
ここで、Jは慣性であり、Bは摩擦係数である。u(t)はトルクコマンド信号、v(t)は、トルク信号u(t)に応答する動作システムの対応する速度である(例えば、u(t)およびv(t)は、図4および図5に関連して説明されている)。
The operating system can be represented by a differential equation.
Here, J is inertia and B is a friction coefficient. u (t) is the torque command signal, and v (t) is the corresponding speed of the operating system in response to the torque signal u (t) (eg, u (t) and v (t) are shown in FIGS. 5).

式(1)の両側を、それぞれ加速および減速段階において積分すると次式を得る。
ここで、uacc(t)およびvacc(t)は、それぞれu(t)およびv(t)の一部であり、テストシーケンスの加速フェーズに対応する。udec(t)およびvdec(t)は、それぞれu(t)およびv(t)の一部であり、テストシーケンスの減速フェーズに対応する。
If both sides of equation (1) are integrated in the acceleration and deceleration stages, respectively, the following equation is obtained.
Here, u acc (t) and v acc (t) are part of u (t) and v (t), respectively, and correspond to the acceleration phase of the test sequence. u dec (t) and v dec (t) are part of u (t) and v (t), respectively, and correspond to the deceleration phase of the test sequence.

式(2)および(3)を解いて、慣性Jおよび摩擦係数Bを求めることができる。
Equations (2) and (3) can be solved to determine inertia J and coefficient of friction B.

図4に表されたトルク曲線および速度曲線の例では、加速フェーズは、速度v(t)が最初に速度検出点v2に達した時(時間t=t)に始まり、トルク信号u(t)がゼロをよぎった時(時間t=t)に終わる。この加速フェーズの終点における動作システムの速度は、(グラフ504に示される)v4として記録される。減速フェーズは、トルク信号u(t)がゼロをよぎった時(時間t=t)に始まり、速度v(t)がv2に戻った時(時間t=t7)に終わる。慣性推定器402は、式(4)および(5)に基づいて推定慣性および推定摩擦係数を導出するために、これらの加速および減速フェーズの描写を認識するように構成できる。加速フェーズおよび減速フェーズを描写するための他の基準も、ここに開示されたいくつかの実施形態の範囲にあることを認識すべきである。 In the torque curve and speed curve examples shown in FIG. 4, the acceleration phase begins when the speed v (t) first reaches the speed detection point v2 (time t = t 3 ), and the torque signal u (t ) Crosses zero (time t = t 5 ). The speed of the operating system at the end of this acceleration phase is recorded as v4 (shown in graph 504). The deceleration phase starts when the torque signal u (t) crosses zero (time t = t 5 ) and ends when the speed v (t) returns to v2 (time t = t7). Inertial estimator 402 can be configured to recognize depictions of these acceleration and deceleration phases to derive estimated inertia and estimated friction coefficients based on equations (4) and (5). It should be appreciated that other criteria for depicting the acceleration and deceleration phases are within the scope of some embodiments disclosed herein.

これらの加速フェーズおよび減速フェーズの定義が与えられると、uacc(t)およびudec(t)の積分範囲は、それぞれUaccおよびUdecと表示されたグラフ502の網掛け領域で表され、vacc(t)およびvdec(t)の積分範囲は、それぞれVaccおよびVdecと表示されたグラフ504の網掛け領域で表される。したがって、Uacc、Udec、VaccおよびVdecは、次のように決定される。
Given these acceleration and deceleration phase definitions, the integration ranges of u acc (t) and u dec (t) are represented by the shaded regions of graph 502 labeled U acc and U dec , respectively. The integration ranges of v acc (t) and v dec (t) are represented by the shaded areas of the graph 504 labeled V acc and V dec , respectively. Therefore, U acc , U dec , V acc and V dec are determined as follows.

式(6)〜(9)を式(4)〜(5)に代入すると、慣性Jおよび摩擦係数Bは、次のように表せる。
ここで、速度変化Δvacc(t)およびΔvdecは、次のように定義される。
By substituting the equations (6) to (9) into the equations (4) to (5), the inertia J and the friction coefficient B can be expressed as follows.
Here, the speed changes Δv acc (t) and Δv dec are defined as follows.

式(12)および(13)は例示であり、連続的なトルクおよび速度データに基づいて動作システムの推定慣性および推定摩擦係数を計算するための非限定的な式である。連続的なトルク信号および対応する速度曲線の積分を介してこれらのパラメータを計算するための任意の好適な式は、ここに開示するいくつかの実施形態の範囲内であることが認識されるできである。   Equations (12) and (13) are exemplary and are non-limiting equations for calculating the estimated inertia and coefficient of friction of the operating system based on continuous torque and speed data. It can be appreciated that any suitable formula for calculating these parameters via integration of the continuous torque signal and the corresponding speed curve is within the scope of some embodiments disclosed herein. It is.

図4および図5に関連して上記のテストシーケンスを完了した場合、慣性推定器は、式(12)および(13)(または他の好適な式)を、慣性および摩擦係数の推定量を導出するための試験により得られた連続的なトルクデータu(t)およびモータ速度データv(t)に適用することができる。図6は、ここに開示する1以上の実施形態にしたがった、慣性演算部606と、摩擦係数演算部608と、を有する慣性推定器602を表すブロック図である。慣性推定部602は、慣性演算部606および摩擦係数演算部608の両方を含むように表されているが、慣性推定部602のいくつかの実施形態は、この開示の範囲を逸脱することなく、これらの演算部の1つだけを含むことができる。すなわち、慣性推定器602は、慣性および摩擦係数のいずれか1つ、または、その両方を計算するように構成しても良い。   When the above test sequence is completed in connection with FIGS. 4 and 5, the inertia estimator derives equations (12) and (13) (or other suitable equations) and estimators of inertia and coefficient of friction. This can be applied to continuous torque data u (t) and motor speed data v (t) obtained by a test for performing the above. FIG. 6 is a block diagram illustrating an inertia estimator 602 having an inertial computation unit 606 and a friction coefficient computation unit 608 in accordance with one or more embodiments disclosed herein. Although inertia estimator 602 is shown to include both inertia calculator 606 and friction coefficient calculator 608, some embodiments of inertia estimator 602 may be used without departing from the scope of this disclosure. Only one of these computing units can be included. That is, the inertia estimator 602 may be configured to calculate either one or both of inertia and the coefficient of friction.

トルクデータu(t)および速度データv(t)が得られた後、トルクコマンド生成部604(トルクコマンド生成部408および204に類似)は、慣性演算部606および摩擦係数演算部608(図2の慣性演算部208および摩擦係数演算部210にそれぞれ類似)にトルクデータを与える。同様に、速度監視部606は、慣性演算部606および摩擦係数演算部608に得られた速度データv(t)を与える。1以上の実施形態によれば、慣性推定器602は、上記の式(6)〜(9)を用いてUacc、Udec、VaccおよびVdecの値を導出できるように、トルクデータおよび速度データを加速フェーズのデータ(uacc(t)およびvacc(t))と、減速フェーズのデータ(udec(t)およびvdec(t))と、に分離する。 After the torque data u (t) and the speed data v (t) are obtained, the torque command generator 604 (similar to the torque command generators 408 and 204) includes an inertia calculator 606 and a friction coefficient calculator 608 (FIG. 2). Torque data is given to the inertia calculation unit 208 and the friction coefficient calculation unit 210. Similarly, the speed monitor 606 gives the obtained speed data v (t) to the inertia calculator 606 and the friction coefficient calculator 608. According to one or more embodiments, the inertia estimator 602 can derive the torque data and the values of U acc , U dec , V acc and V dec using equations (6)-(9) above. The speed data is separated into acceleration phase data (u acc (t) and v acc (t)) and deceleration phase data (u dec (t) and v dec (t)).

慣性演算部は、uacc(t)、udec(t)、vacc(t)およびvdec(t)を積分し、(例えば、式(12)もしくはその変形に基づいて)積分値の関数として推定慣性J610を計算する。同じように、摩擦係数演算部608は、(例えば、式(13)に基づいて)積分値の関数として推定摩擦係数B616を計算することができる。その結果、慣性推定器が動作する個別の用途の要求にしたがって、慣性推定器602は、推定慣性J610と推定摩擦係数B612とを出力することができる。例えば、慣性推定器602は、慣性J610と摩擦係数B612とを動作制御部614に与え、動作制御部614は、1以上の利得係数のチューニングを容易にするためにJおよびBの値を用いる。慣性推定器602は、JおよびBの推定値を見て別の動作制御もしくはチューニングの用途にマニュアルで入力できるように、(例えば、インターフェース部212を介して)表示装置に出力することもできる。動作システムの慣性J610および摩擦係数B612の正確な推定は、チューニングプロセスを簡略化し、正確なパラメータチューニングを容易にする。この結果、緻密でエネルギー効率の良い機械動作が得られる。さらに、慣性推定器は、(1以上の一定のトルクコマンドに対するシステムの応答に基づいて推定するのではなく)動作システムのトルクプロファイル全体から収集されたデータに基づいて JおよびBの値を計算するので、慣性推定器により導出される慣性および摩擦係数の推定は、動作システムの動作範囲全体において、より正確である。 The inertia calculation unit integrates u acc (t), u dec (t), v acc (t), and v dec (t), and a function of the integrated value (for example, based on the equation (12) or a modification thereof) As a result, the estimated inertia J610 is calculated. Similarly, the friction coefficient calculator 608 can calculate the estimated friction coefficient B616 as a function of the integral value (eg, based on equation (13)). As a result, the inertia estimator 602 can output the estimated inertia J610 and the estimated friction coefficient B612 according to the requirements of the individual application in which the inertia estimator operates. For example, inertia estimator 602 provides inertia J 610 and friction coefficient B 612 to motion controller 614, which uses the values of J and B to facilitate tuning of one or more gain factors. The inertia estimator 602 can output the output to the display device (for example, via the interface unit 212) so that the estimated values of J and B can be manually input for another operation control or tuning application. Accurate estimation of operating system inertia J610 and coefficient of friction B612 simplifies the tuning process and facilitates accurate parameter tuning. This results in a precise and energy efficient machine operation. Further, the inertia estimator calculates J and B values based on data collected from the entire torque profile of the operating system (rather than estimating based on the system's response to one or more constant torque commands). Thus, the inertia and friction coefficient estimates derived by the inertia estimator are more accurate over the entire operating range of the operating system.

前述した例では、慣性推定器は、トルクコマンドu(t)を送り、動作制御部(例えば、図4のコントローラ418)を介して速度帰還v(t)を受け取り、コントローラを介して動作する分散した部品、もしくは、コントローラとして集積化された部品のいずれかであるように説明したが、他の構成も、ここに開示するいくつかの実施形態の範囲に含まれる。例えば、図7は、慣性推定器706がコントローラ702から独立した要素として動作する構成を表している。この例では、慣性推定器706は、コントローラ702とは独立した自分のトルクコマンド信号を生成することができる。試験され、制御されるモータ704は、スイッチ712の状態に依存してコントローラ702または慣性推定器706からトルクコマンド信号を受信することができる。モータ704からの速度帰還710は、コントローラ702および慣性推定器706の両方に与えられる。テストシーケンスの間は、スイッチ712は、慣性推定器706からトルクコマンドu(t)が伝達されるようにセットされる。前述の例で説明したように試験が実行され、慣性推定器706は、動作システムの慣性Jおよび摩擦係数Bの推定値を生成する。そして、慣性推定器706は、JおよびBの推定値をコントローラ702に与え、コントローラ706は、好適な制御利得係数または他の制御パラメータを決定するために、その値を用いることができる。一旦、制御パラメータが設定されれば、スイッチ712は、コントローラ702からモータ704へトルクコマンド708を与える位置に切り替えられ、JおよびBに基づいて導出された制御利得係数を用いてモータシステムの通常動作が実行される。   In the example described above, the inertia estimator sends a torque command u (t), receives speed feedback v (t) via an operation control unit (eg, controller 418 in FIG. 4), and operates via the controller. However, other configurations are also within the scope of some embodiments disclosed herein. For example, FIG. 7 shows a configuration in which the inertia estimator 706 operates as an element independent from the controller 702. In this example, inertia estimator 706 can generate its own torque command signal independent of controller 702. The tested and controlled motor 704 can receive a torque command signal from the controller 702 or inertia estimator 706 depending on the state of the switch 712. Speed feedback 710 from motor 704 is provided to both controller 702 and inertia estimator 706. During the test sequence, switch 712 is set such that torque command u (t) is transmitted from inertia estimator 706. Tests are performed as described in the previous example, and inertia estimator 706 generates an estimate of the motion system inertia J and coefficient of friction B. Inertia estimator 706 then provides an estimate of J and B to controller 702, which can use that value to determine a suitable control gain factor or other control parameter. Once the control parameters are set, the switch 712 is switched to a position that provides the torque command 708 from the controller 702 to the motor 704, and normal operation of the motor system using the control gain factor derived based on J and B Is executed.

図8は、慣性推定器により生成された推定慣性および推定摩擦係数を用いた動作制御チューニングの適用例を表している。この例では、チューニング部804がコントローラ806のために制御利得を調整し、コントローラ806は、モータ駆動の動作システム(図示しない)の動作を制御する。慣性推定器802は、上記の技術により動作システムの慣性J808および摩擦係数B810の推定値を生成することができる。具体的には、慣性推定器802は、コントローラ806に連続的したトルクコマンドを動作システムのモータに送るよう命令し、トルクコマンドは、予め定められたテストシーケンスにしたがって、時間に対して連続的に変化する。また、慣性推定器802が(図7に表す構成例のように)コントローラ806とは独立に動作する実施形態では、慣性推定器802は、それ自身の連続したトルクコマンドを生成し、動作システムに出力しても良い。テストシーケンスは、加速および減速フェーズを含むことができ、その間、慣性推定器802は、適用されたトルクコマンドに応答する動作システムの速度を監視および記録する。テストシーケンスの結果に対し、時間的に変化するトルクコマンド信号、および、対応して時間的に変化する動作システムの速度の積分(例えば、式(12)および(13))に基づいて、慣性推定器802は、慣性J808および摩擦係数B810の推定値を計算することができる。   FIG. 8 shows an application example of motion control tuning using the estimated inertia and estimated friction coefficient generated by the inertia estimator. In this example, the tuning unit 804 adjusts the control gain for the controller 806, and the controller 806 controls the operation of a motor-driven operating system (not shown). Inertial estimator 802 can generate estimates of the operating system's inertia J808 and friction coefficient B810 using the techniques described above. Specifically, the inertia estimator 802 instructs the controller 806 to send a continuous torque command to the motor of the operating system, the torque command being continuously over time according to a predetermined test sequence. Change. Also, in embodiments where the inertia estimator 802 operates independently of the controller 806 (as in the example configuration depicted in FIG. 7), the inertia estimator 802 generates its own continuous torque command to the operating system. It may be output. The test sequence can include an acceleration and deceleration phase, during which the inertia estimator 802 monitors and records the speed of the operating system in response to the applied torque command. Inertial estimation based on time sequence of torque command signal and corresponding time-varying operating system speed integral (eg, equations (12) and (13)) for test sequence results Unit 802 can calculate an estimate of inertia J808 and coefficient of friction B810.

慣性推定器802は、慣性J808および摩擦係数B810をチューニング部804に与えることができる。代わりに、慣性推定器802は、JおよびBの値をユーザインターフェースに与え、ユーザがチューニング部804に推定慣性と推定摩擦係数をマニュアルで入力しても良い。JおよびB、もしくは、そのいずれかの知識は、動作システムの機械的特性に基づいてチューニング部804に1以上の制御利得812の好適な推定値を生成させる。チューニング部804は、望ましい動作特性を得るためにインターフェース816を介してユーザによりマニュアルで調整された制御システムのバンド幅814(例えば、重複した周波数)と、慣性Jおよび摩擦係数B810、もしくは、そのいずれかと、の関数として制御利得812の好適な値を生成できる。   The inertia estimator 802 can provide the tuning unit 804 with the inertia J808 and the friction coefficient B810. Instead, the inertia estimator 802 may give the values of J and B to the user interface, and the user may manually input the estimated inertia and the estimated friction coefficient to the tuning unit 804. Knowledge of J and / or B causes the tuning unit 804 to generate a suitable estimate of one or more control gains 812 based on the mechanical characteristics of the operating system. The tuning unit 804 may include a control system bandwidth 814 (eg, overlapping frequencies) manually adjusted by the user via the interface 816 to obtain the desired operating characteristics, an inertia J and a coefficient of friction B 810, or any of them. A suitable value for the control gain 812 can be generated as a function of heel.

通常の用途において、ここに説明される慣性推定器は、通常動作前の動作制御システムを最初に準備する間に、動作システムの慣性Jおよび摩擦係数Bの信頼できる推定値を生成することができる。具体的には、慣性推定器は、制御パラメータ(例えば、制御利得係数)の構成およびチューニングに関連して使用される。一度、設定され、後でシステムを再調整することが決定されなければ、システムが動き出した後もこれらのパラメータは、通常、固定されたままである。しかしながら、いくつかの実施形態では、慣性推定器は、動作時間の間に周期的もしくは連続的にJおよびBの値を自動で再計算するように構成できる。そのような構成を用いれば、JおよびBの推定に基づいた制御パラメータは、通常動作の間に過渡的に調整され、(例えば、機械的摩滅、モニタで見られる負荷の変化などの結果としての)段階的変化に対し、実質的にリアルタイムで、動作システムの機械的特性の補正を行うことができる。   In normal applications, the inertia estimator described herein can produce a reliable estimate of the motion system inertia J and coefficient of friction B while initially preparing the motion control system prior to normal operation. . Specifically, the inertia estimator is used in connection with the configuration and tuning of control parameters (eg, control gain factor). Once set, and after it is not decided to readjust the system at a later time, these parameters usually remain fixed even after the system is up and running. However, in some embodiments, the inertia estimator can be configured to automatically recalculate the values of J and B periodically or continuously during the operating time. With such a configuration, control parameters based on the estimation of J and B are adjusted transiently during normal operation (eg, as a result of mechanical wear, load changes seen on the monitor, etc. ) The mechanical characteristics of the operating system can be corrected for the step change in substantially real time.

図9および図10は、いくつかの開示された態様にしたがう、いくつかの手順を表している。説明の簡略化のために、手順は一連の行為として示され、説明されるが、開示された態様は、その行為の順に限定されず、いくつかの行為は、ここに示され、説明されたものと異なる順で、他の行為と同時に行われても良いし、そのいずれかであっても良いことを理解し、認識すべきである。例えば、当業者であれば、手順は、状態図のように相互に関連する状態もしくは事象の連続として選択可能に表されることを理解し、認識するであろう。さらに、いくつかの開示された態様にしたがって手順を実行するために、表示された全ての行為が求められる訳ではない。なお、この開示を通じて以下に示される手順は、そのような手順のコンピュータへの転送を容易にする製造物に記憶させることが可能であることを、さらに認識すべきである。   9 and 10 represent several procedures according to some disclosed aspects. For ease of explanation, the procedures are shown and described as a series of actions, but the disclosed aspects are not limited to the order of the actions, and some actions are shown and described herein. It should be understood and recognized that they may be performed concurrently with other actions in a different order than those, or any of them. For example, those skilled in the art will understand and appreciate that a procedure is selectably represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all displayed acts may be required to perform a procedure in accordance with some disclosed aspects. It should be further appreciated that the procedures set forth below throughout this disclosure can be stored in a product that facilitates the transfer of such procedures to a computer.

図9は、制御された機械システムの慣性および摩擦係数を推定するための手順例900を表している。ステップ902において、連続したトルクコマンドu(t)は、動作システムのコントローラに送られ、トルクコマンドu(t)は、決められた最大トルクおよび最小トルクの設定点の間で時間と共に変化する。1以上の実施形態において、トルクコマンドu(t)は、出力u(t)がテストシーケンスのフェーズと、1以上のユーザ定義の設定点と比較した機械システムの応答と、に依存するように、定められたテストシーケンスにしたがう。テストシーケンスは、モータスピードの増加および減少にそれぞれ対応する加速フェーズおよび減速フェーズの両方を備える。2方向の試験では、トルクコマンドu(t)は、テストシーケンスの間、正または負のトルク値の間で変化し、その試験の間に、動作システムを両方向に加速する。   FIG. 9 depicts an example procedure 900 for estimating the inertia and coefficient of friction of a controlled mechanical system. In step 902, a continuous torque command u (t) is sent to the controller of the operating system, and the torque command u (t) varies over time between the determined maximum torque and minimum torque set points. In one or more embodiments, the torque command u (t) is such that the output u (t) depends on the phase of the test sequence and the response of the mechanical system compared to one or more user-defined set points. Follow a defined test sequence. The test sequence comprises both an acceleration phase and a deceleration phase that correspond to motor speed increases and decreases, respectively. In a two-way test, the torque command u (t) changes between positive or negative torque values during the test sequence, accelerating the operating system in both directions during the test.

ステップ904では、トルクコマンドu(t)に応答した動作システムの速度v(t)が記録される。その結果、テストシーケンスの完了により、時間t=0〜tendに対し、適用されたトルクコマンドu(t)の曲線データ、および、結果として得られる動作システムの速度v(t)の曲線データの両方が得られる。ここで、tendは、テストシーケンスの継続時間である。 In step 904, the operating system speed v (t) in response to the torque command u (t) is recorded. As a result, upon completion of the test sequence, the curve data of the applied torque command u (t) and the curve data of the resulting operating system speed v (t) for time t = 0 to t end are obtained. Both are obtained. Here, t end is the duration of the test sequence.

ステップ906では、トルク曲線u(t)および速度曲線v(t)の積分に基づいた慣性および摩擦係数の少なくともいずれか1つの推定値が計算される。1以上の実施形態では、u(t)およびv(t)の曲線は、加速フェーズおよび減速フェーズに分割され、加速フェーズおよび減速フェーズのそれぞれの積分に基づいて慣性および摩擦係数を計算することができる。(例えば、式(12)および(13)または他の好適な式を用いる。)ステップ908では、動作システムの1以上のパラメータを、ステップ906で計算された推定慣性および摩擦係数、または、そのいずれかの関数として設定する。非限定的な例として、ステップ902〜906にしたがって計算された推定慣性および推定摩擦係数、もしくは、そのいずれかの基づいて1以上の制御利得係数を設定できる。   In step 906, an estimate of at least one of inertia and friction coefficient based on the integration of torque curve u (t) and speed curve v (t) is calculated. In one or more embodiments, the u (t) and v (t) curves may be divided into an acceleration phase and a deceleration phase, and the inertia and friction coefficients may be calculated based on the respective integration of the acceleration phase and the deceleration phase. it can. (For example, using equations (12) and (13) or other suitable equations.) In step 908, one or more parameters of the operating system are used to calculate the estimated inertia and coefficient of friction calculated in step 906, or any Set as a function. As a non-limiting example, one or more control gain factors can be set based on the estimated inertia and / or estimated friction coefficients calculated according to steps 902-906.

図10は、動作制御システムにおいて、慣性および摩擦係数を推定するために実行される手順例1000を表している。ステップ1002では、動作システムに与えられるトルクコマンドは、最大トルクの設定点に達するまで、もしくは、適用されたトルクコマンドに応答して動作システムが第1の速度検出点(例えば、図5の速度検出点v3)に加速されるまで、連続的に増加する。最大トルクの設定点および第1の速度検出点は、動作システムの上方動作限界に対応し、(例えば、動作システムの正常動作における最大トルクおよび速度として)試験の前に設定できる。トルクコマンドの増加レートもユーザが定めることができる。1以上の実施形態において、動作システムの速度が第1の速度監視点に達する前にトルクコマンドが最大トルク値に達した場合、動作システムが第1の速度検出点に加速されるまで、トルクコマンドは最大トルク値に保持される。動作システムの速度が定められたタイムアウト時間内に第1の速度検出点に達しない場合、適当なタイムアウト処理を開始する。   FIG. 10 illustrates an example procedure 1000 that is performed in the motion control system to estimate inertia and coefficient of friction. In step 1002, the torque command applied to the operating system is the first speed detection point (eg, the speed detection of FIG. 5) until the maximum torque set point is reached or in response to the applied torque command. It increases continuously until it is accelerated to point v3). The maximum torque set point and the first speed detection point correspond to the upper operating limit of the operating system and can be set prior to testing (eg, as maximum torque and speed in normal operation of the operating system). The increase rate of the torque command can also be determined by the user. In one or more embodiments, if the torque command reaches a maximum torque value before the speed of the operating system reaches the first speed monitoring point, the torque command is accelerated until the operating system is accelerated to the first speed detection point. Is held at the maximum torque value. If the speed of the operating system does not reach the first speed detection point within a predetermined time-out period, an appropriate time-out process is started.

動作システムは、停止状態から第1の速度検出点まで加速されるので、その速度は、第2の速度検出点(例えば、図2の速度検出点v2)を通過するだろう。ここで、第2の速度検出点は、ゼロよりも大きく、第1の速度検出点よりも小さい。試験の加速フェーズは、速度が最初に第2の速度検出点に到達した時に始まる。   Since the operating system is accelerated from a standstill to a first speed detection point, the speed will pass through a second speed detection point (eg, speed detection point v2 in FIG. 2). Here, the second speed detection point is larger than zero and smaller than the first speed detection point. The acceleration phase of the test begins when the velocity first reaches the second velocity detection point.

動作システムが第1の速度検出点に加速されたことを検出すれば、トルクコマンドは、ステップ904においてトルクコマンドが最初トルクの設定点に到達するまで連続的に減少される。この場合、ステップ1002において第1の速度検出点に達した時、動作システムは加速しているので、ステップ1004においてトルク信号が減少し始めてでも、しばらくの間、その速度は第1の速度検出点を越えて増加する。トルクコマンド信号の減少は、実質的に、動作システムを減速し、第1の速度検出点に戻す。ステップ1002のように、トルクコマンドを減少させるレートは、ユーザ定義のパラメータとして構成できる。この例では、動作システムが第1の速度検出点に戻る前に、トルクコマンドはゼロに減少し、最小トルクの設定点に達するまで、もしくは、第1の速度検出点に減速するまで、負の方向に減少を続ける。すなわち、トルクコマンドは、テストシーケンスのこのフェーズの間にゼロ点を横切る。これは、加速フェーズの終わりと、減速フェーズの始まりを示す。ステップ1002と同じように、動作システムが第1の速度検出点に達する前に、トルクコマンドが最小トルクの設定点まで減少すれば、トルクコマンドは、第1の速度検出点に達するまで、最小トルク値に保持される。   If it is detected that the operating system has accelerated to the first speed detection point, the torque command is continuously reduced at step 904 until the torque command reaches the initial torque set point. In this case, when the first speed detection point is reached in step 1002, the operating system is accelerating. Therefore, even if the torque signal starts to decrease in step 1004, the speed is kept at the first speed detection point for a while. Increase beyond. Decreasing the torque command signal substantially decelerates the operating system and returns it to the first speed detection point. As in step 1002, the rate at which the torque command is reduced can be configured as a user-defined parameter. In this example, before the operating system returns to the first speed detection point, the torque command is reduced to zero and negative until a minimum torque set point is reached or until the first speed detection point is decelerated. Continue to decrease in the direction. That is, the torque command crosses the zero point during this phase of the test sequence. This marks the end of the acceleration phase and the beginning of the deceleration phase. As in step 1002, if the torque command is reduced to the minimum torque set point before the operating system reaches the first speed detection point, the torque command is reduced to the minimum torque until the first speed detection point is reached. Held in value.

動作システムの速度が第1の速度検出点に戻った時、第1の速度検出点に到達した時点のトルクコマンド値は、動作システムが減速し第2の速度検出点に戻るまで、ステップ1006における一定値として維持される。これは、減速フェーズの終了のトリガとなる。   When the speed of the operating system returns to the first speed detection point, the torque command value when the speed reaches the first speed detection point is the same as that in step 1006 until the operating system decelerates and returns to the second speed detection point. Maintained as a constant value. This triggers the end of the deceleration phase.

ステップ1008において、トルクコマンドがステップ1004の間にゼロをよぎる時間が検出される。この時間は、TCROSSOVERとして示され、テストシーケンスの加速フェーズと減速フェーズの境界を決めるために用いられる。(図4に関連した上記の例では、TCROSSOVER=tである。)ステップ1010では、動作システムのトルクコマンド曲線および対応する速度曲線の加速フェーズの部分において積分が実行される。すなわち、トルクコマンドデータは、時間TからTCROSSOVERまで積分される。ここで、Tは、加速フェーズの開始時間(速度が第2の速度検出点に最初に交差する時間、例えば、図4の時間t)である。トルクコマンドの加速フェーズにおける積分の結果は、Uaccとして示される。同様に、適用されたトルクコマンドに応答した動作制御システムから測定された連続した速度データは、加速フェーズにおける速度積分の結果Vaccを得るために時間TからTCROSSOVERまで積分される。 In step 1008, the time that the torque command crosses zero during step 1004 is detected. This time is denoted as TCROSSOVER and is used to delimit the acceleration and deceleration phases of the test sequence. (In the above example associated with FIG. 4, T CROSSOVER = t 5 ). In step 1010, integration is performed in the acceleration phase portion of the operating system torque command curve and the corresponding velocity curve. That is, the torque command data is integrated from time T 0 to T CROSSOVER . Here, T 0 is the start time of the acceleration phase (the time at which the speed first crosses the second speed detection point, for example, the time t 3 in FIG. 4). The result of integration in the acceleration phase of the torque command is shown as Uacc . Similarly, continuous speed data measured from the motion control system in response to the applied torque command is integrated from time T 0 to T CROSSOVER to obtain the result V acc of speed integration in the acceleration phase.

ステップ1012では、トルクおよび速度データの減速部分に対して同様の積分を実行する。すなわち、トルクおよび速度データは、動作システムがステップ1006において減速し第2の速度検出点に戻る時間に対応する時間TCROSSOVERからTFINALまで積分される。ここで、TFINALは、減速フェーズの終了時間である。(図4に関連した上記の例では、TFINAL=t7である。)トルクおよび速度データの減速フェーズにおけるこれらの積分結果は、それぞれUdecおよびVdecで示される。 In step 1012, similar integration is performed on the deceleration portion of the torque and speed data. That is, the torque and speed data is integrated from time T CROSSOVER to T FINAL corresponding to the time at which the operating system decelerates at step 1006 and returns to the second speed detection point. Here, T FINAL is the end time of the deceleration phase. (In the above example related to FIG. 4, T FINAL = t7.) These integration results in the deceleration phase of torque and speed data are denoted by U dec and V dec , respectively.

ステップ1014では、動作システムの推定慣性および推定摩擦係数、もしくは、そのいずれかが、積分Uacc、Vacc、UdecおよびVdecに基づいて計算される。例えば、推定慣性および推定摩擦係数は、式(12)および(13)もしくはその変形に基づいて計算されるだろう。 In step 1014, the estimated inertia and / or estimated friction coefficient of the motion system is calculated based on the integrals U acc , V acc , U dec and V dec . For example, the estimated inertia and estimated coefficient of friction will be calculated based on equations (12) and (13) or variations thereof.

[動作プロファイル生成器]
図11は、動作制御システムの2点間移動に対する動作プロファイルを生成することが可能な非限定的な動作プロファイル生成システムを例示するブロック図である。動作プロファイル生成システム1102は、ポジションプロファイル生成部1104、速度プロファイル生成部1106、インターフェース部1108、1以上のプロセッサ1110およびメモリ1112を含む。いくつかの実施例では、ポジションプロファイル生成部1104、速度プロファイル生成部1106、インターフェース部1108、1以上のプロセッサおよびメモリ1112のうちの1つ以上は、動作プロファイル生成システム1102の1以上の機能を実行するために、電気的および通信可能に、もしくは、そのいずれかであるように相互に結合される。いくつかの実施形態では、ポジションプロファイル生成部1104、速度プロファイル生成部1106およびインターフェース部1108は、メモリ112に記憶され、プロセッサ1110により実行されるソフトウェア命令を備える。動作プロファイル生成システム1102は、図11に表されない他のハードウェアおよびソフトウェアと相互作用しても良い。例えば、プロセッサ1110は、キーボード、表示モニタ、タッチスクリーンのようなユーザインターフェース装置と相互作用しても良い。
[Operation profile generator]
FIG. 11 is a block diagram illustrating a non-limiting motion profile generation system capable of generating a motion profile for two-point movement of the motion control system. The motion profile generation system 1102 includes a position profile generation unit 1104, a speed profile generation unit 1106, an interface unit 1108, one or more processors 1110 and a memory 1112. In some embodiments, one or more of position profile generator 1104, velocity profile generator 1106, interface unit 1108, one or more processors and memory 1112 perform one or more functions of motion profile generation system 1102. In order to be electrically and / or communicably coupled to each other. In some embodiments, the position profile generator 1104, the velocity profile generator 1106, and the interface 1108 comprise software instructions stored in the memory 112 and executed by the processor 1110. The motion profile generation system 1102 may interact with other hardware and software not shown in FIG. For example, the processor 1110 may interact with a user interface device such as a keyboard, display monitor, touch screen.

インターフェース1108は、ユーザ入力を受け取り、任意の好適な形式(例えば、視覚的、聴覚的、触覚的な形態)でユーザに出力を提供する。ユーザ入力は、例えば、ユーザ設定の制約(例えば、最大加速度、最大速度など)であり、動作プロファイル(以下に、詳細に説明される)を計算するために動作プロファイル生成システム1102により使用される。ポジションプロファイル生成部114は、動作システムのために望ましい目標ポジションの命令を受け取り、ユーザ定義の制約を表すパラメータの範囲内で目標ポジションへ移行するための動作プロファイルを計算するように構成される。同じように、速度プロファイル生成部1106は、動作制御システムのための望ましい目標速度の命令を受け取り、定められた制約に適合するように現行の速度から目標速度へ動作システムを移行させるための動作プロファイルを生成することができる。図11は、ポジションプロファイル生成部1104および速度プロファイル生成部1106の両方を含む動作プロファイル生成システムを表しているが、動作プロファイル生成システムのいくつかの実施形態は、この開示の範囲から逸脱することなく、ポジションプロファイル生成部1104または速度プロファイル生成部のいずれかのみを含むことができることが認識されるべきである。1以上のプロセッサ1110は、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、ここに説明した1以上の機能を実行できる。メモリ1112は、開示されたシステムおよび方法、もしくは、そのいずれかを参照して、ここに説明した1以上の機能を実行するためのコンピュータが実行できる命令および情報、もしくは、そのいずれかを記憶するコンピュータが読み取り可能な記憶媒体である。   Interface 1108 receives user input and provides output to the user in any suitable form (eg, visual, audible, tactile form). User inputs are, for example, user-set constraints (eg, maximum acceleration, maximum speed, etc.) and are used by the motion profile generation system 1102 to calculate a motion profile (described in detail below). The position profile generator 114 is configured to receive a command of a desired target position for the motion system and calculate a motion profile for transitioning to the target position within a parameter that represents a user-defined constraint. Similarly, the speed profile generator 1106 receives a command of a desired target speed for the motion control system and a motion profile for transitioning the motion system from the current speed to the target speed to meet the defined constraints. Can be generated. FIG. 11 depicts a motion profile generation system that includes both a position profile generation unit 1104 and a velocity profile generation unit 1106, but some embodiments of the motion profile generation system may be used without departing from the scope of this disclosure. It should be appreciated that only the position profile generator 1104 or the velocity profile generator can be included. One or more processors 1110 may perform one or more of the functions described herein with reference to the disclosed systems and / or methods. Memory 1112 stores computer-executable instructions and / or information for performing one or more of the functions described herein with reference to any of the disclosed systems and / or methods. A computer-readable storage medium.

いくつかの実施形態では、ここに説明するプロファイル生成部は、動作制御部の集積化された部品であっても良い。図12は、この開示の1以上の実施形態にしたがってプロファイル生成部1206を用いる主制御部1202を備えた動作制御システム1200を例示している。主制御部1202は、例えば、1以上の動作デバイスを含むシステム(例えば、工業的処理、自動システム、バッチ処理など)を監視し制御するプログラマブルロジックコントローラ(PLC)、または、そのようなコントローラである。この例では、プロファイル生成部1206は、主制御部1202上に存在する1以上のプロセッサにより実行されるコントローラの動作システムおよび制御ソフトウェア、もしくは、そのいずれかの機能部品であっても良い。プロファイル生成部1206は、コントローラ1208の他の機能要素とデータを交換する回路基板、集積回路など、主制御部1202の内部に存在するハードウェア部品であっても良い。プロファイル生成部1206の他の好適な実施例も、この開示のいくつかの実施形態の範囲内である。例えば、プロファイル生成部1206は、主制御部1202に集積化された要素として図12に表されているが、いくつかの実施形態では、プロファイル生成部1206は、主制御部1202から分離された要素であっても良い。そのような構成では、プロファイル生成部1206は、主制御部1202または動作システムの他の要素と、好適な通信手段を介してデータを交換する。その通信手段は、有線または無線のネットワーク、配線されたデータリンクもしくは、そのような通信手段を含むが、これらに限定される訳ではない 。   In some embodiments, the profile generator described herein may be an integrated part of the operation controller. FIG. 12 illustrates an operation control system 1200 including a main control unit 1202 that uses a profile generation unit 1206 in accordance with one or more embodiments of the present disclosure. The main control unit 1202 is, for example, a programmable logic controller (PLC) that monitors and controls a system (eg, an industrial process, an automatic system, a batch process, or the like) that includes one or more operating devices, or such a controller. . In this example, the profile generation unit 1206 may be a controller operation system and control software executed by one or more processors existing on the main control unit 1202, or any functional component thereof. The profile generation unit 1206 may be a hardware component existing inside the main control unit 1202, such as a circuit board or an integrated circuit that exchanges data with other functional elements of the controller 1208. Other suitable examples of profile generator 1206 are also within the scope of some embodiments of this disclosure. For example, the profile generator 1206 is represented in FIG. 12 as an element integrated in the main controller 1202, but in some embodiments, the profile generator 1206 is an element separated from the main controller 1202. It may be. In such a configuration, the profile generator 1206 exchanges data with the main controller 1202 or other elements of the operating system via suitable communication means. The communication means includes, but is not limited to, a wired or wireless network, a wired data link, or such communication means.

例示的な動作制御システム1200は、主制御部1202により与えられる動作プロファイル1212にしたがって、動作デバイス(例えば、図示しないモータ)を制御するための動作制御部1214を含むモータ駆動部1222も備える。動作プロファイル1212は、現在のポジションまたは速度から目標ポジションまたは目標速度へ動作デバイスの移行させるための軌跡を決定する。ここで、軌跡は、ポジションの基準、速度の基準、加速度の基準およびジャークの基準のうちの1つ以上の観点から定められる。主制御部1202から動作プロファイルデータを受信することに応じて、モータ制御部1214は、動作プロファイル1212を制御信号1216に変換し、制御信号1216は、動作デバイスを目標ポジションまたは目標速度へ移行させるために動作デバイスに送られる。モータ制御部1214が閉ループコントローラであれば、制御信号1216を出力している間、モータ制御部1214は、動作デバイスの現実の状態(例えば、リアルタイムのポジション、速度など)を示すフィードバック信号1220も監視する。モータ制御部1214は、フィードバック信号1220に基づいて、動作デバイスが、動作プロファイル1212にしたがい、できるだけ動作プロファイル1212に近接して動くように、制御信号1216を調整する。また、モータ制御部1214が開ループコントローラであれば、モータ制御部1214は、動作プロファイル1212に基づいて制御信号1216を生成し続けるが、その結果として動作デバイスが動作している間、フィードバック信号1220を監視することはない。   The exemplary operation control system 1200 also includes a motor drive unit 1222 that includes an operation control unit 1214 for controlling an operation device (eg, a motor (not shown)) according to an operation profile 1212 provided by the main control unit 1202. The motion profile 1212 determines a trajectory for moving the motion device from the current position or speed to the target position or speed. Here, the trajectory is determined from one or more viewpoints among a position reference, a speed reference, an acceleration reference, and a jerk reference. In response to receiving motion profile data from main controller 1202, motor controller 1214 converts motion profile 1212 to control signal 1216, which causes the motion device to transition to a target position or target speed. Sent to the operating device. If the motor controller 1214 is a closed loop controller, while outputting the control signal 1216, the motor controller 1214 also monitors a feedback signal 1220 that indicates the actual state of the operating device (eg, real time position, speed, etc.). To do. The motor control unit 1214 adjusts the control signal 1216 based on the feedback signal 1220 so that the operating device moves as close to the operating profile 1212 as possible according to the operating profile 1212. In addition, if the motor control unit 1214 is an open loop controller, the motor control unit 1214 continues to generate the control signal 1216 based on the operation profile 1212. As a result, while the operation device is operating, the feedback signal 1220 is generated. Never monitor.

この例では、主制御部1202は、主制御部1202に記憶され、実行される制御プログラム1210にしたがってシステムを制御する。動作の間、制御プログラム1210は、動作デバイスが新規のポジションへ動くか、または、新規の速度へ移行することを要求する。目的のポジションおよび速度1208は、プロファイル生成部1206に与えられ、プロファイル生成部1206は、動作プロファイル1212を計算し動きの軌跡を決定する。プロファイル生成部1206は、動作システムの機械的制約、または、動作デバイスの動作に関するユーザの好みを表す1以上の動作の制約条件1204の関数として動作プロファイル1212を計算する。動作定数1204は、動作の前に(例えば、図11のインターフェース部1108を介して)ユーザにより与えられる。いくつかの実施形態では、以下に詳細に説明するように、プロファイル生成部1206は、プロファイルのセグメントがコントローラのサンプル点に一致することを確実にするために、付加的に、主制御部1202のサンプリング時間1218に基づいて動作プロファイル1212を計算することもできる。   In this example, the main control unit 1202 controls the system according to a control program 1210 stored and executed in the main control unit 1202. During operation, the control program 1210 requires the operating device to move to a new position or transition to a new speed. The target position and speed 1208 are given to the profile generation unit 1206, and the profile generation unit 1206 calculates the motion profile 1212 to determine the movement trajectory. The profile generator 1206 calculates the motion profile 1212 as a function of one or more motion constraints 1204 that represent the user's preference regarding motion of the motion system or motion of the motion device. The operation constant 1204 is given by the user before the operation (for example, via the interface unit 1108 in FIG. 11). In some embodiments, as will be described in detail below, the profile generator 1206 may additionally include a main controller 1202 to ensure that the segments of the profile match the controller sample points. An operation profile 1212 can also be calculated based on the sampling time 1218.

以下に、より詳細に説明するように、動作プロファイル1212は、参照ポジションの基準、速度の基準、加速度の基準およびジャークの基準として2点間移動の時間に対する軌跡を決定する。これらの参照値は、動作プロファイル生成部1206により計算された関数を表し、与えられた2点間移動に対する時間の関数として、それぞれの動きの特性がどのように制御されるかを決定する。これらの参照値は、微分係数として数学的な相互関係を有する。すなわち、ジャークは、加速度の微分係数であり、加速度は、速度の微分係数、そして、速度は、ポジションの微分係数である。以下に、詳細に議論するように、プロファイル生成部1206は、軌跡プロファイルのそれぞれの段階に対して、これらの参照値を計算できる。   As will be described in more detail below, the motion profile 1212 determines a trajectory with respect to the time of movement between two points as a reference position criterion, a velocity criterion, an acceleration criterion, and a jerk criterion. These reference values represent the functions calculated by the motion profile generator 1206 and determine how the characteristics of each motion are controlled as a function of time for a given point-to-point movement. These reference values have a mathematical correlation as differential coefficients. That is, jerk is a differential coefficient of acceleration, acceleration is a differential coefficient of speed, and speed is a differential coefficient of position. As will be discussed in detail below, the profile generator 1206 can calculate these reference values for each stage of the trajectory profile.

一旦、移動のための動作プロファイル1212を計算すれば、プロファイル生成部1206は、動作プロファイル1212をモータ制御部1214に与え、モータ制御部1214は、動作プロファイル1212を制御信号1216に変換する。制御信号1216は、動作プロファイル1212にしたがった望ましい2点間移動の実行を動作デバイスに命令する。前述したように、モータ制御部1214が閉ループコントローラであれば、制御信号1216は、動作プロファイル1212の関数であると同時に、動作デバイスの現実の状態をモータ制御部1214にリアルタイムに知らせるフィードバック信号1220の関数でもある。開ループコントローラに対しては、制御信号1216は、動作プロファイル1212だけの関数となる。   Once the motion profile 1212 for movement is calculated, the profile generation unit 1206 gives the motion profile 1212 to the motor control unit 1214, and the motor control unit 1214 converts the motion profile 1212 into a control signal 1216. The control signal 1216 instructs the operating device to perform the desired point-to-point movement according to the operating profile 1212. As described above, if the motor control unit 1214 is a closed loop controller, the control signal 1216 is a function of the operation profile 1212 and at the same time, the feedback signal 1220 that informs the motor control unit 1214 of the actual state of the operation device in real time. It is also a function. For an open loop controller, the control signal 1216 is a function of the motion profile 1212 only.

図12の表された構成は、プロファイル生成部1206が動作する背景を例示することのみを意図しており、他の動作環境もこの開示に含まれる。例えば、いくつかのシナリオでは、主制御部1202は、モータを制御できる機能を統合したコントローラを包含しても良い。そのような形態では、主制御部1202は、離間したモータ駆動部1222に動作プロファイル1212を与えるよりも、動作プロファイル1212を好適な制御信号316に変換し、制御信号1216を動作デバイスに送る。他の例示的な構造では、プロファイル生成部1206は、モータ駆動部1222に統合されても良い。   The configuration depicted in FIG. 12 is intended only to illustrate the background in which the profile generator 1206 operates, and other operating environments are included in this disclosure. For example, in some scenarios, the main control unit 1202 may include a controller that integrates a function capable of controlling a motor. In such a form, the main control unit 1202 converts the operation profile 1212 into a suitable control signal 316 and sends the control signal 1216 to the operation device rather than providing the operation profile 1212 to the separated motor drive unit 1222. In other exemplary structures, the profile generator 1206 may be integrated into the motor driver 1222.

プロファイル生成部1206は、ポジションプロファイル生成部および速度プロファイル生成部のいずれか、もしくは、両方であっても良い。これら2つのタイプのプロファイル生成部は、図13および14にそれぞれ表されている。図13に示すように、ポジションプロファイル生成部1302は、入力として、制御されたシステムの機械的制約、または、動作システムの振る舞いに関するユーザの好みを表す制約のセット1304を受信する。これらの制約は、コントローラの制御信号の更新された周期(通常、ミリ秒単位で測定される)を表すサンプリング時間、速度、加速度、減速度およびジャークの上限を含む。いくつかの実施形態では、ポジションプロファイル生成部1302がコントローラのサンプリング時間を自動的に決定するが、これらの制約は、(例えば、図11のインターフェース部1108を介して)ユーザにより設定しても良い。これらの制約1304は、動作制御システムを準備する間に、一度設定しても良いし、動作ごとに再構成しても良い。ポジションプロファイル生成部1302は、非対称の加速および減速を有するプロファイルをそれぞれ提供する構成とするために加速および減速の限界を許容する。以下に、詳細に説明するように、このサンプリング時間は、プロファイル生成部1302により動作プロファイルの精度を向上させるために用いられる。   The profile generation unit 1206 may be either or both of a position profile generation unit and a speed profile generation unit. These two types of profile generators are represented in FIGS. 13 and 14, respectively. As shown in FIG. 13, the position profile generator 1302 receives as input a set of constraints 1304 representing the user's preferences regarding the mechanical constraints of the controlled system or the behavior of the operating system. These constraints include sampling time, speed, acceleration, deceleration, and jerk limits that represent the updated period of the controller control signal (usually measured in milliseconds). In some embodiments, the position profile generator 1302 automatically determines the controller's sampling time, although these constraints may be set by the user (eg, via the interface unit 1108 of FIG. 11). . These constraints 1304 may be set once while preparing the operation control system, or may be reconfigured for each operation. The position profile generation unit 1302 allows acceleration and deceleration limits in order to provide a profile having asymmetric acceleration and deceleration, respectively. As will be described in detail below, this sampling time is used by the profile generation unit 1302 to improve the accuracy of the operation profile.

動作の間、ポジションプロファイル生成部1302は、動作システムに対する新規の目標ポジションを特定するポジションステップコマンド1308を受信する。ポジションステップコマンド1308は、コントローラにより実行される制御プログラム(例えば、図12の制御プログラム)により生成されるか、もしくは、ユーザによりマニュアル入力される動作命令でも良い。ポジションステップコマンド1308に応答して、ポジションプロファイル生成部は、制約に基づく時間的に最適化された動作プロファイル1306を計算する。動作プロファイル1306は、負荷をその現在のポジションからポジションステップコマンド1308により定められた目標ポジションへ移動させるための軌跡を定める。動作プロファイル1306は、ジャーク基準、加速度基準、速度基準およびポジション基準のうちの1以上を含む。これらは、微分係数として数学的な相互関係を有する。ポジションプロファイル生成部1302は、決定される動作プロファイルの段階もしくはセグメントの組み合わせのそれぞれに対し、時間の関数としてこれらの基準を定める。表1は、2点間の動作プロファイルの7つのセグメントをまとめたものである。   During operation, the position profile generator 1302 receives a position step command 1308 that identifies a new target position for the operating system. The position step command 1308 may be generated by a control program executed by the controller (for example, the control program in FIG. 12) or may be an operation command manually input by the user. In response to the position step command 1308, the position profile generation unit calculates a temporally optimized motion profile 1306 based on the constraints. The motion profile 1306 defines a trajectory for moving the load from its current position to the target position defined by the position step command 1308. The motion profile 1306 includes one or more of a jerk criterion, an acceleration criterion, a velocity criterion, and a position criterion. These have a mathematical correlation as differential coefficients. The position profile generator 1302 defines these criteria as a function of time for each determined motion profile stage or segment combination. Table 1 summarizes the seven segments of the motion profile between two points.

初めに、第1段階(ACC_INC)の間、加速度は、ゼロから一定の加速度まで連続的に増加する。いくつかのシナリオでは、この定加速度は、制約条件1304により定められた最大加速度である。しかしながら、比較的短いポジションステップでは、ポジションプロファイル生成部1302は、小さな加速度がより正確な目標ポジションへの移行をもたらすことを明らかにするだろう。第2段階(ACC_HOLD)では、加速度は一定のレートに保持される。システムがポジションプロファイル生成部1302により計算された目標速度に近づいたとき、一定速度に達するまで加速度が徐々に減少する第3段階(ACC_DEC)に入る。一定速度に達すると、システムが目標ポジションに近づくように、第4段階(VEL_HOLD)の間、この一定速度は保持される。システムが目標ポジションに近づくと、軌跡は第5段階に入る。第5段階では、システムは、ゼロから動作プロファイルにより定められた目標減速度へ徐々にレートを増加させながら減速を始める。目標の減速度に達すると、第6段階(DEC_HOLD)の間、この減速度が保持される。最終的に、第7段階(DEC_DEC)の間、減速度はシステムが速度ゼロに達するまで徐々に減少し、動作シーケンスを終了する。   Initially, during the first stage (ACC_INC), the acceleration increases continuously from zero to a constant acceleration. In some scenarios, this constant acceleration is the maximum acceleration defined by constraint 1304. However, in a relatively short position step, the position profile generator 1302 will reveal that a small acceleration results in a more accurate transition to the target position. In the second stage (ACC_HOLD), the acceleration is held at a constant rate. When the system approaches the target speed calculated by the position profile generation unit 1302, a third stage (ACC_DEC) is entered in which the acceleration gradually decreases until a constant speed is reached. When a constant speed is reached, this constant speed is maintained during the fourth stage (VEL_HOLD) so that the system approaches the target position. As the system approaches the target position, the trajectory enters the fifth stage. In the fifth stage, the system begins to decelerate, gradually increasing the rate from zero to the target deceleration defined by the motion profile. When the target deceleration is reached, this deceleration is held during the sixth stage (DEC_HOLD). Finally, during the seventh stage (DEC_DEC), the deceleration gradually decreases until the system reaches zero speed, ending the operation sequence.

ポジションステップコマンド1308が与えられると、ポジションプロファイル生成部1302は、時間的に最適化された動作プロファイルに対し、これら7つのプロファイルセグメントのうちのどれが必要かを決定し、時間的に変化するジャーク基準、加速度基準、速度基準およびポジション基準のうちの1以上を、動作に必要と思われるそれぞれのセグメントに対して計算する。それぞれの段階に対し計算された基準は、動作プロファイルを完成するために結合される。完結した動作プロファイルは、それにより決定される軌跡を介して動作システムを駆動するために、開ループまたは閉ループの動作コントローラ(例えば、モータ駆動部)で使用することができる。   When the position step command 1308 is given, the position profile generation unit 1302 determines which one of these seven profile segments is necessary for the temporally optimized motion profile, and changes the time-varying jerk. One or more of the criteria, acceleration criteria, velocity criteria and position criteria are calculated for each segment deemed necessary for motion. The criteria calculated for each stage are combined to complete the motion profile. The completed motion profile can be used in an open loop or closed loop motion controller (eg, motor drive) to drive the motion system through the trajectory determined thereby.

図14は、1以上の実施形態にしたがう速度プロファイル生成部1402の例を表している。速度プロファイル生成部1402は、ポジションプロファイル生成部1302に類似するが、ポジションの変化よりも速度の望ましい変化に応答する動作プロファイルを計算するために用いられる。すなわち、速度プロファイル生成部1402は、現在の速度から速度設定点1408により特定される目標速度への動作システムの移行に対して、時間的に最適化された動作プロファイル1406を計算する。望ましい速度設定点への移行は、通常、動作システムのポジションに無関係なので、速度プロファイル生成部1402に対して定められる制約条件1404は、ポジションの限界を含まなくても良い。同じように、プロファイル生成部1402により生成される動作プロファイル1406は、ポジション基準を含まなくても良く、時間的に変化するジャークの基準、加速度基準および速度基準のうちの少なくとも1つの観点から排他的に動作プロファイルを決定しても良い。   FIG. 14 illustrates an example of a speed profile generator 1402 according to one or more embodiments. The speed profile generator 1402 is similar to the position profile generator 1302 but is used to calculate a motion profile that responds to a desired change in speed rather than a change in position. That is, the speed profile generation unit 1402 calculates a temporally optimized motion profile 1406 for the transition of the motion system from the current speed to the target speed specified by the speed set point 1408. Since the transition to the desired speed setpoint is usually independent of the position of the operating system, the constraint 1404 defined for the speed profile generator 1402 may not include position limits. Similarly, the motion profile 1406 generated by the profile generation unit 1402 may not include a position reference, and is exclusive from at least one of a time-varying jerk reference, an acceleration reference, and a speed reference. The operation profile may be determined.

いくつかの動作制御の用途では、動作コントローラは、台形の動作プロファイル、または、S曲線のプロファイルのいずれか1つを生成する。これらのプロファイルに加えて、または、これらに代えて、この開示に係るプロファイル生成部は、以下、STプロファイルとして言及する第3のタイプのプロファイルを生成できる。図15は、通常の台形およびS曲線プロファイルとST曲線プロファイルの例を比較している。図15に表された時間グラフは、ポジション0(開示ポジション)と、ポジション2.5(図13のポジションステップコマンド1308により決定される目標ポジション)と、の間における与えられた軌跡に対するポジション、速度、加速およびジャークをプロットしたものである。一般的に理解されるように、プロットされた値は、相互に微分係数として数学的に関連する。すなわち、速度は、ポジションの微分(すなわち、ポジション変化のレート)であり、加速度は速度の微分、そして、ジャークは、加速度の微分である。   In some motion control applications, the motion controller generates either a trapezoidal motion profile or an S-curve profile. In addition to or instead of these profiles, the profile generation unit according to the present disclosure can generate a third type profile referred to as an ST profile hereinafter. FIG. 15 compares an example of a normal trapezoidal and S curve profile with an ST curve profile. The time graph shown in FIG. 15 shows the position and speed for a given trajectory between position 0 (disclosed position) and position 2.5 (target position determined by the position step command 1308 in FIG. 13). , Acceleration and jerk plots. As is generally understood, the plotted values are mathematically related to each other as derivatives. That is, speed is a derivative of position (ie, rate of change of position), acceleration is a derivative of speed, and jerk is a derivative of acceleration.

台形の動作プロファイルは、上記の7つの段階のうちの3つ、一定加速度(第2段階)、一定速度(第4段階)および一定減速度(第6段階)を用いるだけである。この台形の速度プロファイルの結果は、図15中の破線の速度曲線により表される。一定加速度段階もしくは一定減速度段階と、一定速度段階と、の間の急峻な以降は、台形の速度曲線の頂部における鋭いコーナをもたらす。台形プロファイルの加速および減速フェーズは、常に一定であり、このプロファイルに対する加速度曲線は、加速度グラフに破線で表されるように、一定値の間で階段状に変化する。この例では、減速のレートは加速のレートの2倍であり、台形のケースにおける加速度曲線は、加速段階の間、0.5であり、一定速度段階では、0(ゼロ)であり、減速段階では、−1.0である。また、ジャーク曲線(加速および減速の変化のレートを表す)は、移行の間の短時間のパルス(プロットしない)であり、図15のジャークグラフに破線で表すように加速度または減速度が一定の時、ゼロのままである。   The trapezoidal motion profile only uses three of the above seven stages, constant acceleration (second stage), constant speed (fourth stage) and constant deceleration (sixth stage). The result of the trapezoidal velocity profile is represented by a broken line velocity curve in FIG. The steep subsequent between the constant acceleration phase or constant deceleration phase and the constant speed phase results in a sharp corner at the top of the trapezoidal velocity curve. The acceleration and deceleration phases of the trapezoidal profile are always constant, and the acceleration curve for this profile changes stepwise between constant values, as represented by the dashed line in the acceleration graph. In this example, the rate of deceleration is twice the rate of acceleration, and the acceleration curve in the trapezoidal case is 0.5 during the acceleration phase, 0 (zero) at the constant speed phase, and the deceleration phase. Then, it is -1.0. The jerk curve (representing the rate of change in acceleration and deceleration) is a short pulse (not plotted) during the transition, and the acceleration or deceleration is constant as represented by the dashed line in the jerk graph of FIG. At time, it remains zero.

台形プロファイルは、段階的な移行なしに、常に、一定速度段階へ一定のレートで加速し、一定速度段階から一定のレートで減速するため、台形曲線プロファイルは、現在のポジションと目標ポジションとの間を比較的早く移動する。しかしながら、加速または減速段階と一定速度段階と、の間の急激な移行は、システムの望ましくない機械的な乱れを生じさせる。さらに、動作システムが目標ポジションに近づくにつれて徐々に減速することがなく、目標ポジションに到達するまで一定の減速度を維持し、急に速度ゼロに移行するので、台形の動作プロファイルは、最初の移行過程の終わりに目標ポジションを通り過ぎる可能性が高く、コントローラは、負荷を目標ポジションに戻す補償制御信号を出力する必要がある。この過程は、システムが目標ポジションに落ち着くまで数回繰り返され、システムの望ましくない振動を生じさせる。   Because the trapezoidal profile always accelerates to a constant speed step at a constant rate and decelerates from a constant speed step to a constant rate without a gradual transition, the trapezoidal curve profile is between the current position and the target position. Move relatively quickly. However, the abrupt transition between the acceleration or deceleration phase and the constant speed phase causes undesirable mechanical disturbances of the system. In addition, the trapezoidal motion profile is the first transition because the motion system does not slow down gradually as it approaches the target position, maintains a constant deceleration until it reaches the target position, and then suddenly moves to zero speed. It is likely that the target position will be passed at the end of the process, and the controller needs to output a compensation control signal that returns the load to the target position. This process is repeated several times until the system has settled to the target position, causing undesirable vibrations of the system.

台形プロファイルとは対照的に、S曲線プロファイル(図15のグラフに細い実線で表される)では、7つのプロファイル段階の連続的な加速および減速段階の全てを用いる。これにより、一定(またはゼロ)速度フェーズと、一定加速および減速段階と、の間に段階的な移行が許容される。これらの段階的な加速度の移行は、加速度グラフに明確に表されている。台形プロファイルのように、時間0(ゼロ)から一定の加速度で開始されるのではなく、S曲線プロファイルの加速度は、時間0(ゼロ)から徐々に一定の加速度まで傾斜して増加する。速度が最大(1sと2sとの間)に達した時、加速度は、台形のケースのように急峻にゼロへ減少するのではなく、一定の速度を得るために徐々にゼロまで減少する。加速度の同じような段階的な変化は、S曲線プロファイルの後の減速段階でも見られる。これらの段階的な加速度変化の効果は、速度およびポジションのグラフにそれぞれみられる。具体的には、S曲線の速度プロファイルのコーナが台形カーブに比べて丸められ、加速および減速段階と、一定速度段階と、の間のスムーズな移行を表している。同じように、S曲線のポジションプロファイルは、最初のポジションと、目標ポジションと、の間のスムーズな移行を示しているが、目標に達するための付加的な時間を費やす。   In contrast to the trapezoidal profile, the S-curve profile (represented by a thin solid line in the graph of FIG. 15) uses all seven successive acceleration and deceleration phases of the profile phase. This allows a gradual transition between a constant (or zero) speed phase and a constant acceleration and deceleration phase. These gradual acceleration transitions are clearly represented in the acceleration graph. Instead of starting at a constant acceleration from time 0 (zero) as in the trapezoidal profile, the acceleration of the S-curve profile gradually increases from time 0 (zero) to a constant acceleration. When the speed reaches a maximum (between 1s and 2s), the acceleration does not decrease steeply to zero as in the trapezoidal case, but gradually decreases to zero to obtain a constant speed. A similar step change in acceleration is also seen in the deceleration phase after the S-curve profile. The effects of these stepwise acceleration changes can be seen in the velocity and position graphs, respectively. Specifically, the corner of the speed profile of the S curve is rounded compared to the trapezoidal curve, representing a smooth transition between acceleration and deceleration stages and a constant speed stage. Similarly, the S-curve position profile shows a smooth transition between the initial position and the target position, but spends additional time to reach the target.

ここに説明されるプロファイル生成部の1以上の実施形態は、S曲線の動作プロファイルの生成をサポートする。通常、S曲線の動作プロファイルを用いる動作制御システムは、対照的な加速および減速をサポートするだけである。すなわち、一定の加速度および一定の減速度の絶対値は等しい。これに対し、ここに説明するプロファイル生成部は、非対称の加速度および減速度を有するS曲線の動作プロファイルをサポートすることができる。これは、図15の加速度グラフに表され、加速度に対する0.5の限界と、減速度に対する−1の限界と、を有するS曲線を表している。そのような非対称な加速度と減速度とを与えるために、プロファイル生成部は、システムの制約条件として、異なる加速度および減速度の限界(例えば、図13の制約条件1304を参照)を許容し、これらの制約条件を考慮して動作プロファイルを計算する。   One or more embodiments of the profile generator described herein support generation of S-curve motion profiles. Typically, motion control systems that use S-curve motion profiles only support contrasting acceleration and deceleration. That is, the absolute values of constant acceleration and constant deceleration are equal. In contrast, the profile generator described herein can support an S-curve motion profile having asymmetric acceleration and deceleration. This is represented in the acceleration graph of FIG. 15 and represents an S curve having a limit of 0.5 for acceleration and a limit of −1 for deceleration. In order to provide such asymmetric acceleration and deceleration, the profile generator allows different acceleration and deceleration limits (see, for example, constraint 1304 in FIG. 13) as system constraints, and these The operation profile is calculated in consideration of the constraints.

ジャークのグラフに表されるように、S曲線のケースにおいて、動作プロファイルの第1、第3、第5および第7段階の間、段階加速度が増加し減速度が減少するレートは、常に同じである。すなわち、この例では、動作プロファイルの任意の段階において、ジャークは、1、0もしくは−1のいずれかであり、常に一定値である。これは、加速度グラフに表すように、増加または減少する加速(または減速)段階と、一定の加速段階と、の間における急峻な移行をもたらす。   As represented in the jerk graph, in the case of the S curve, the rate at which the step acceleration increases and the deceleration decreases during the first, third, fifth and seventh stages of the motion profile is always the same. is there. That is, in this example, at any stage of the motion profile, the jerk is either 1, 0 or −1 and is always a constant value. This results in a steep transition between an increasing or decreasing acceleration (or deceleration) phase and a constant acceleration phase, as represented in the acceleration graph.

ポジション間の時間的に最適化された移行を得る通常の動作制御システムの台形およびS曲線プロファイルよりもスムーズな動作を得るために、ここに説明する1以上の実施形態に係るプロファイル生成部は、ST曲線型のプロファイルにしたがった動作プロファイルを計算することができる。ST曲線プロファイルの例は、図15のグラフに太い実線で表されている。台形およびS曲線プロファイルとは対照的に、ST曲線プロファイルでは、加速度および減速度を増加および減少させる段階において、時間に対するジャークの変化が連続的であり段階的である。これにより、図15の加速度グラフにおける加速度の遷移がスムーズになり、これに対応して速度およびポジションのグラフそれぞれ示す速度およびポジション曲線もスムーズになる。   In order to obtain a smoother operation than the trapezoidal and S-curve profile of a normal motion control system that obtains a time-optimized transition between positions, the profile generator according to one or more embodiments described herein includes: An operation profile according to the ST curve type profile can be calculated. An example of the ST curve profile is represented by a thick solid line in the graph of FIG. In contrast to trapezoidal and S-curve profiles, in the ST-curve profile, the change in jerk over time is continuous and gradual in increasing and decreasing acceleration and deceleration. As a result, the transition of acceleration in the acceleration graph of FIG. 15 becomes smooth, and the velocity and position curves respectively shown in the velocity and position graphs correspondingly become smooth.

さらに、ST曲線プロファイルは、非対称の加速度および減速度をサポートすることができる。(すなわち、プロファイル生成部は、与えられた動作プロファイルに対して減速のレートと異なる加速レートを有するプロファイルを計算することができる。)時間的に最適化された解を見つけると同時に、時間の関数として数学的な軌跡の表現を導出することは、非対称の加速度および減速度を用いる場合の課題である。これを解決するために、ここに説明されるプロファイル生成部の1以上の実施形態は、加速と減速との関係、および、加速時のジャークと、減速時のジャークと、の関係を活用したアルゴリズムを用い、これらの関係を導出の過程に適用する。これにより、軌跡の解析的な表現の導出が可能となり、時間的に最適化された解を見つけることができる。   In addition, the ST curve profile can support asymmetric acceleration and deceleration. (Ie, the profile generator can calculate a profile having an acceleration rate that differs from the rate of deceleration for a given motion profile.) While finding a temporally optimized solution, a function of time Deriving a mathematical trajectory representation as is a challenge when using asymmetric acceleration and deceleration. To solve this, one or more embodiments of the profile generator described herein include an algorithm that utilizes the relationship between acceleration and deceleration and the relationship between jerk during acceleration and jerk during deceleration. And apply these relationships to the derivation process. This makes it possible to derive an analytical expression of the trajectory and find a solution that is optimized in terms of time.

ST曲線のポジションプロファイルの例を以下に導出する。ここに説明するプロファイル生成部の1以上の実施形態は、以下の導出過程に基づいて、動作プロファイルの基準を生成することができる。しかしながら、ここに説明するプロファイル生成部は、ST曲線に基づいた動作プロファイルの生成のためのこの技術に限定される訳ではなく、時間の関数として定義される連続したジャーク曲線を得る任意の好適なアルゴリズムは、この開示の範囲に含まれることを理解すべきである。   An example of the position profile of the ST curve is derived below. One or more embodiments of the profile generation unit described herein can generate a reference for an operation profile based on the following derivation process. However, the profile generator described here is not limited to this technique for generating motion profiles based on ST curves, and any suitable jerk curve that is defined as a function of time. It should be understood that the algorithm is within the scope of this disclosure.

次の方程式において、θ・・・、θ・・、θおよびθは、それぞれ、ジャーク、加速度、速度およびポジションであり、t、t、t、tおよびtは、それぞれ、動作プロファイルのACC_INC、ACC_HOLD、VEL_HOLD、DEC_INCおよびDEC_HOLD段階(表1参照)の継続時間である。この例では、ACC_INCおよびACC_DECの継続時間は等しいと仮定される。すなわち、tは、ACC_INCおよびACC_DEC段階の両方の継続時間である。同様に、DEC_INCの継続時間は、DEC_DECと同じであり、tは、DEC_INCおよびDEC_DECの両方の継続時間である。Kは、次の式にしたがって、ジャーク、加速度、速度およびポジションのそれぞれの動作プロファイルにおけるそれぞれの段階に対して定められる利得値である。(ここで、7つのそれぞれの段階に対して、t=0は、それぞれの段階の開始時間を表す。)
In the following equations, θ ... , Θ ·· , θ ·, and θ are jerk, acceleration, velocity, and position, respectively, and t 1 , t 2 , t 3 , t 4, and t 5 are respectively The duration of the ACC_INC, ACC_HOLD, VEL_HOLD, DEC_INC, and DEC_HOLD phases (see Table 1) of the operation profile. In this example, it is assumed that the durations of ACC_INC and ACC_DEC are equal. That is, t 1 is the duration of both the ACC_INC and ACC_DEC phases. Similarly, the duration of DEC_INC, the same as DEC_DEC, t 4 is the time duration of both DEC_INC and DEC_DEC. K is a gain value determined for each stage in each motion profile of jerk, acceleration, speed and position according to the following equation. (Here, for each of the seven stages, t = 0 represents the start time of each stage.)

これらの関係が与えられれば、最大加速ジャーク、最大減速ジャーク、最大加速度、最大減速度および最大速度をセグメントの継続時間により表すことができる。
ここで、Pはポジションステップ、Jeは最大加速ジャーク、Iは最大減速ジャーク、Aは最大加速度、Dは最大減速度およびVは最大速度である。
Given these relationships, the maximum acceleration jerk, the maximum deceleration jerk, the maximum acceleration, the maximum deceleration and the maximum speed can be represented by the duration of the segment.
Here, P is a position step, Je is a maximum acceleration jerk, I is a maximum deceleration jerk, A is a maximum acceleration, D is a maximum deceleration, and V is a maximum speed.

P、V、A、D、Je、I、t、t、t、tおよびtの間の関係は、次のように得られる。
P, V, A, D, Je, the relationship between I, t 1, t 2, t 3, t 4 and t 5 are obtained as follows.

、t、t、tおよびtは、全て0(ゼロ)以上であるとして、次の関係を仮定すれば、
次の不等式が成立する。
不等式(33)〜(36)を解くことにより、V、A、D、JeおよびI(速度、加速度、加速ジャークおよび減速ジャークのそれぞれの最大値)の適切な値を得る。
Assuming that t 1 , t 2 , t 3 , t 4 and t 5 are all equal to or greater than 0 (zero), the following relationship is assumed:
The following inequality holds.
By solving the inequalities (33) to (36), appropriate values of V, A, D, Je and I (maximum values of velocity, acceleration, acceleration jerk and deceleration jerk) are obtained.

これらの最大値を式(25)〜(29)に代入することにより、t、t、t、tおよびtの値を得ることができる。上記の式(14)〜(36)により導出されるV、A、D、Je、I、t、t、t、tおよびtの値は、定められた機械的な制約条件もしくはユーザの要求の範囲内で動作する時間的に最適化されたスムーズな軌跡を与える。 By substituting these maximum values into the equations (25) to (29), the values of t 1 , t 2 , t 3 , t 4 and t 5 can be obtained. The values of V, A, D, Je, I, t 1 , t 2 , t 3 , t 4 and t 5 derived from the above equations (14) to (36) are determined mechanical constraints. Alternatively, it provides a smooth trajectory that is optimized in time and operates within the range of the user's request.

上記の関係に基づいて、プロファイル生成部は、与えられた2点間の移動に対して、好適なST曲線の動作プロファイルを計算することができる。しかしながら、t、t、t、tおよびtに対して最初に計算される値は、コントローラのサンプリング時間の倍数ではなく、結果として動作コントローラのサンプル点に一致しないであろう。プロファイルセグメントの継続時間がコントローラの2つのサンプル時間の間に収まる場合は、コントローラは、制御信号の望ましい出力と、制御信号の実際の出力と、の間の小さな違いを補正する必要があるだろう。この点を解決するために、ここに説明されるプロファイル生成部の1以上の実施形態は、上記のように、最大値V、A、D、JeおよびIと、セグメントの継続時間t、t、t、tおよびtと、を導出した後に、付加的な計算を実施する。 Based on the above relationship, the profile generation unit can calculate a motion profile of a suitable ST curve for a given movement between two points. However, the initially calculated values for t 1 , t 2 , t 3 , t 4 and t 5 are not multiples of the controller sampling time and will consequently not match the operating controller sample points. If the duration of the profile segment falls between the two sample times of the controller, the controller will need to compensate for the small difference between the desired output of the control signal and the actual output of the control signal. . In order to solve this point, one or more embodiments of the profile generator described herein include, as described above, maximum values V, A, D, Je and I and segment durations t 1 , t After deriving 2 , t 3 , t 4 and t 5 , additional calculations are performed.

具体的には、プロファイル生成部が上記の手順にしたがってt、t、t、tおよびtを計算した後、それぞれの継続時間を最も近いサンプリング時間に上方修正し、t1New、t2New、t3New、t4Newおよびt5Newを得る。この修正ステップは、制約条件1304または1404の1つとしてプロファイル生成部に与えられたサンプリング時間に基づくことができる。そして、プロファイル生成部は、修正された継続時間t1New、t2New、t3New、t4Newおよびt5Newの値を用いて、V、A、D、JeおよびIの新しい値を計算する。この計算により、サンプリング時間の倍数であるセグメントの継続時間を含む最終的な動作プロファイルが得られ、コントローラから出力される制御信号がコントローラのサンプル点に一致することが保証される。これにより、動作プロファイルの時間が2つのサンプル点の間に収まる場合に生じる小さな違いの補償の必要性を軽減できる。 Specifically, after the profile generation unit calculates t 1 , t 2 , t 3 , t 4 and t 5 according to the above procedure, the respective durations are upwardly corrected to the nearest sampling time, and t 1New , t 2New , t 3New , t 4New and t 5New are obtained. This modification step can be based on the sampling time given to the profile generator as one of the constraints 1304 or 1404. Then, the profile generation unit calculates new values of V, A, D, Je, and I using the values of the modified durations t 1New , t 2New , t 3New , t 4New, and t 5New . This calculation results in a final motion profile that includes the duration of the segment that is a multiple of the sampling time, and ensures that the control signal output from the controller matches the sample point of the controller. This can reduce the need for compensation for small differences that occur when the time of the motion profile falls between two sample points.

上記のST曲線の代わりに、または、それに加えて、ここに説明するプロファイル生成部の1以上の実施形態は、非対称の加速度および減速度を有するS曲線プロファイルを生成することが可能である。非対称の加速度および減速度を有するS曲線プロファイルの例は、以下に導出される。ここに説明するプロファイル生成部の1以上の実施形態は、以下の手順またはその変形に基づいて動作プロファイルの基準を生成することができる。   Instead of or in addition to the ST curve described above, one or more embodiments of the profile generator described herein can generate an S-curve profile having asymmetric acceleration and deceleration. An example of an S-curve profile with asymmetric acceleration and deceleration is derived below. One or more embodiments of the profile generator described herein can generate a reference for an operation profile based on the following procedure or variations thereof.

上記のST曲線の方程式と同じように、θ・・・、θ・・、θおよびθは、それぞれジャーク、加速度、速度およびポジションである。t、t、t、tおよびtは、動作プロファイルのACC_INC、ACC_HOLD、VEL_HOLD、DEC_HOLD、DEC_INCおよびDEC_HOLDの各段階(表1参照)におけるそれぞれの継続時間である。例示したST曲線と同じように、ACC_INCおよびACC_DECの継続時間は同じであり、tは、ACC_INCおよびACC_DECの両方の段階における継続時間である。同じように、DEC_INCの継続時間はDEC_DECと同じであり、tは、DEC_INCおよびDEC_DECの両方の継続時間である。Kは、次の式にしたがって、ジャーク、加速度、速度およびポジションのそれぞれに対する動作プロファイルのそれぞれの段階に対して決定される利得値である。(ここで、7つの段階のそれぞれに対し、t=0は、それぞれの段階の開始時間を表す。)
As in the above ST curve equation, θ ... , Θ ·· , θ ·, and θ are jerk, acceleration, velocity, and position, respectively. t 1 , t 2 , t 3 , t 4, and t 5 are the respective durations of the ACC_INC, ACC_HOLD, VEL_HOLD, DEC_HOLD, DEC_INC, and DEC_HOLD stages of the operation profile (see Table 1). Similar to the illustrated ST curve, the durations of ACC_INC and ACC_DEC are the same, and t 1 is the duration in both stages of ACC_INC and ACC_DEC. Similarly, the duration of DEC_INC is the same as DEC_DEC, t 4 is the time duration of both DEC_INC and DEC_DEC. K is a gain value determined for each stage of the motion profile for each of jerk, acceleration, velocity and position according to the following equation: (Here, for each of the seven stages, t = 0 represents the start time of each stage.)

これらの関係が与えられれば、最大加速ジャーク、最大減速ジャーク、最大加速度、最大減速度および最大速度は、セグメントの継続時間により表される。
ここで、Pはポジションステップ、Jeは最大加速ジャーク、Iは最大減速ジャーク、Aは最大加速度、Dは最大減速度、および、Vは最大速度である。
Given these relationships, the maximum acceleration jerk, maximum deceleration jerk, maximum acceleration, maximum deceleration, and maximum speed are represented by the duration of the segment.
Here, P is a position step, Je is a maximum acceleration jerk, I is a maximum deceleration jerk, A is a maximum acceleration, D is a maximum deceleration, and V is a maximum speed.

P、V、A、D、Je、I、t、t、t、tおよびtの間の関係は、次のように得られる。
、t、t、tおよびtは、全て0(ゼロ)以上であるとして、次の関係を仮定すれば、
次の不等式が成立する。
P, V, A, D, Je, the relationship between I, t 1, t 2, t 3, t 4 and t 5 are obtained as follows.
Assuming that t 1 , t 2 , t 3 , t 4 and t 5 are all equal to or greater than 0 (zero), the following relationship is assumed:
The following inequality holds.

不等式(53)〜(56)を解くことにより、S曲線プロファイルに対するV、A,D、JeおよびI(速度、加速度、現速度、加速ジャークおよび減速ジャークのそれぞれの最大値)の適切な値が得られる。   By solving the inequalities (53) to (56), appropriate values of V, A, D, Je and I (maximum values of velocity, acceleration, current velocity, acceleration jerk and deceleration jerk) for the S curve profile are obtained. can get.

これらの最大値を式(47)〜(51)に代入することにより、t、t、t、tおよびt(S曲線動作プロファイルのそれぞれのセグメントの継続時間)の値を得ることができる。上記の式(37)〜(56)にしたがって導出されたV、A、D、Je、I、t、t、t、tおよびtの値により、非対称の加速度および減速度を有し、定められた機械的制約条件もしくはユーザの要求する範囲内で動作するS曲線プロファイルを創出できる。 By substituting these maximum values into the equations (47) to (51), values of t 1 , t 2 , t 3 , t 4 and t 5 (the duration of each segment of the S-curve motion profile) are obtained. be able to. The values of V, A, D, Je, I, t 1 , t 2 , t 3 , t 4 and t 5 derived according to the above equations (37) to (56) give asymmetric acceleration and deceleration. It is possible to create an S-curve profile that has a predetermined mechanical constraint or operates within a range required by the user.

いくつかの実施形態では、プロファイル生成部は、ST曲線プロファイルに関連して前述した付加的な計算に類似した方法により、結果的に得られたS曲線動作プロファイルをコントローラのサンプリング時間に適合させる。すなわち、上記の手順にしたがってt、t、t、tおよびtを計算した後、プロファイル生成部は、それぞれの継続時間を最も近いサンプリング時間に合わせて伸ばし、t1New、t2New、t3New、t4Newおよびt5Newを得る。そして、プロファイル生成部は、修正された継続時間t1New、t2New、t3New、t4Newおよびt5Newの値を用いて、V、A、D、JeおよびIの新しい値を計算する。 In some embodiments, the profile generator adapts the resulting S-curve motion profile to the controller sampling time in a manner similar to the additional calculations described above in connection with the ST curve profile. That is, after calculating t 1 , t 2 , t 3 , t 4, and t 5 according to the above procedure, the profile generation unit extends the respective durations according to the nearest sampling time, and t 1New , t 2New. , T3New , t4New and t5New . Then, the profile generation unit calculates new values of V, A, D, Je, and I using the values of the modified durations t 1New , t 2New , t 3New , t 4New, and t 5New .

動作プロファイルは、通常、表1にリストされた7つの段階を含むが、いくつかの2点間の移動では、7つの全てのセグメントを要求しなくても良い。例えば、動作システムの現在の状態と、目標の状態と、の間の距離が比較的短いとき、その動作システムのVEL_HOLD(一定速度)セグメントを省略しても良い。したがって、ここに説明するプロファイル生成部の1以上の実施形態では、自動的あるいは機能的にセグメントのスキップを行っても良い。すなわち、プロファイルの7つの段階の全てについて計算を行うのではなく、最終的な軌跡において、1以上の段階が用いられないのであれば、ここに説明するプロファイル生成部のいくつかの実施形態では、与えられた2点間の移動に対して、最終的な軌跡に用いられる段階についてのみ計算を行うことができる。   A motion profile typically includes the seven stages listed in Table 1, but several two-point movements may not require all seven segments. For example, when the distance between the current state of the operating system and the target state is relatively short, the VEL_HOLD (constant speed) segment of the operating system may be omitted. Accordingly, in one or more embodiments of the profile generator described herein, segment skipping may be performed automatically or functionally. That is, if one or more stages are not used in the final trajectory rather than performing calculations for all seven stages of the profile, in some embodiments of the profile generator described herein, For a given movement between two points, calculations can only be made for the stage used for the final trajectory.

動作プロファイルは、新規の動作コマンドを受けた時、動作プロファイルの計算の間にどのセグメントをスキップできるかを自動的に決定する。いくつかの実施形態では、プロファイル生成部は、現在のポジションと目標ポジションとの間(ポジション変更の場合)もしくは、現在の速度と目標速度との間(速度変更の場合)の全体の差にある程度基づいて、どのセグメントをスキップして良いかを決めることができ、現在の状態と目標状態との間の差が小さいほど、動作プロファイルのセグメントのいくつかを省略することが可能となる。そのような実施形態では、現在の状態と目標状態との間の差は、複数の定められた差のレンジと比較され、それぞれの定められた差のレンジは、対応する動作プロファイルから省かれた1以上のセグメントに関連する。   The motion profile automatically determines which segments can be skipped during the motion profile calculation when a new motion command is received. In some embodiments, the profile generator is somewhat dependent on the overall difference between the current position and the target position (for position change) or between the current speed and the target speed (for speed change). Based on this, it can be determined which segments can be skipped, and the smaller the difference between the current state and the target state, the more segments of the motion profile can be omitted. In such an embodiment, the difference between the current state and the target state is compared to a plurality of defined difference ranges, each defined difference range being omitted from the corresponding motion profile. Associated with one or more segments.

ここに説明されるプロファイル生成部の1以上の実施形態は、動作データの履歴に基づいて、どのセグメントをスキップできるかを推定しても良い。例えば、プロファイル生成部は、出力された動作コマンドの履歴、および、そのコマンドに応答した動作に対応する軌跡のデータ(例えば、ポジション、速度、加速度およびジャーク、もしくは、そのいずれかの時間に対するデータ)を記録しても良い。プロファイル生成部は、動作の特定のタイプに対し、どのセグメントが省略可能であるかに関して推測を行うためにこの履歴データを解析することができる。したがって、新規の2点間の移動コマンドを受け取った時、その移動に対する動作プロファイルを計算する前に、プロファイル生成部は、類似した特性(例えば、横断すべき距離の類似、動作コマンドを受け取った時の速度の類似など)を有する過去の動作コマンドに応答して実行された軌跡の形状に基づいて、どのセグメントをスキップできるかを推定することができる。   One or more embodiments of the profile generator described herein may estimate which segments can be skipped based on a history of motion data. For example, the profile generation unit may output the history of the motion command and the data of the trajectory corresponding to the motion in response to the command (for example, data for position, speed, acceleration and jerk, or any time) May be recorded. The profile generator can analyze this historical data to make inferences about which segments can be omitted for a particular type of operation. Therefore, when a new movement command between two points is received, before the motion profile for that movement is calculated, the profile generator may receive similar characteristics (eg, similar distance to be traversed, motion command received). It is possible to estimate which segments can be skipped based on the shape of the trajectory executed in response to a past motion command having a similar speed).

図16〜図19は、例示した7つの段階のポジションプロファイルのセグメントスキップを表している。図16は、7つの全ての段階を用いるS曲線プロファイルの例を表している。図17は、セグメント4(一定速度段階)をスキップしたプロファイルを表している。プロファイル生成部は、横断されるポジションまたは速度ステップが十分小さく、目標ポジションまたは目標速度に達する前に一定速度段階に達しない場合にそのようなプロファイルを計算できる。そのようなポジションステップまたは速度設定点のコマンドを受けた場合、プロファイル生成部は、望ましい動作のためのプロファイル計算を実施する前に、この決定をすることができ、1〜3段階および5〜7段階についての計算だけを実行する。同じように、図18は、セグメント2および6をスキップしたプロファイルの例を表し、図19は、セグメント2、4および6をスキップしたプロファイルの例を表している。   16 to 19 show the segment skip of the illustrated seven-stage position profile. FIG. 16 represents an example of an S-curve profile using all seven stages. FIG. 17 shows a profile in which segment 4 (constant speed step) is skipped. The profile generator can calculate such a profile if the traversed position or speed step is small enough and does not reach a constant speed step before reaching the target position or speed. Upon receiving such a position step or speed set point command, the profile generator can make this determination before performing the profile calculation for the desired operation, with steps 1-3 and 5-7. Perform only the calculation for the stage. Similarly, FIG. 18 shows an example of a profile in which segments 2 and 6 are skipped, and FIG. 19 shows an example of a profile in which segments 2, 4 and 6 are skipped.

図20〜図22は、いくつかの開示された態様にしたがった手順を表している。説明の簡略化のために、手順は一連の行為として示され、説明されるが、開示された態様は、その行為の順に限定されず、いくつかの行為は、ここに示され、説明されたものと異なる順で、他の行為と同時に行われても良いし、そのいずれかであっても良いことを理解し、認識すべきである。例えば、当業者であれば、手順は、状態図のように相互に関連する状態もしくは事象の連続として選択可能に表されることを理解し、認識するであろう。さらに、いくつかの開示された態様にしたがって手順を実行するために、表示された全ての行為が求められる訳ではない。なお、この開示を通じて以下に示される手順は、そのような手順のコンピュータへの転送を容易にする製造物に記憶させることが可能であることを、さらに認識すべきである。   20-22 illustrate a procedure according to some disclosed aspects. For ease of explanation, the procedures are shown and described as a series of actions, but the disclosed aspects are not limited to the order of the actions, and some actions are shown and described herein. It should be understood and recognized that they may be performed concurrently with other actions in a different order than those, or any of them. For example, those skilled in the art will understand and appreciate that a procedure is selectably represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all displayed acts may be required to perform a procedure in accordance with some disclosed aspects. It should be further appreciated that the procedures set forth below throughout this disclosure can be stored in a product that facilitates the transfer of such procedures to a computer.

図20は、動作制御システムにおける2点間の移動に対する動作プロファイルを計算するための手順例2000を表している。ステップ2002では、動作制御システムに対し、動作の制約条件が定められる。これらの制約条件は、動作制御システムにより制御される機械システムの物理的な制約を表し、速度、加速度、減速度およびジャークの限界を含むことができる。制約条件は、機械システムを制御するために用いられる動作コントローラのサンプリング時間の定義を含むことができる。ステップ2002では、制御される機械システムを新規のポジションまたは速度に移行させるコマンドを受信する。このコマンドは、動作コントローラにより実行される動作制御プログラムに起因しても良いし、ユーザにより入力されるマニュアルの動作コマンドであっても良い。そのコマンドは、動作コントローラに関連するプロファイル生成部(例えば、上記のプロファイル生成部1206、1302もしくは1402)が受信しても良い。   FIG. 20 shows an example procedure 2000 for calculating an operation profile for movement between two points in the operation control system. In step 2002, operation constraint conditions are determined for the operation control system. These constraints represent the physical constraints of the mechanical system controlled by the motion control system and can include speed, acceleration, deceleration and jerk limits. The constraints can include a definition of the motion controller sampling time used to control the mechanical system. In step 2002, a command is received that causes the controlled mechanical system to transition to a new position or speed. This command may be caused by an operation control program executed by the operation controller, or may be a manual operation command input by the user. The command may be received by a profile generation unit (for example, the profile generation unit 1206, 1302, or 1402 described above) related to the motion controller.

ステップ2006では、ステップ2004で受信されたコマンドの受け取りに応答して、現在のポジションまたは速度から、コマンドにより指示された新規のポジションまたは速度へ機械システムを動かすために、動作プロファイルが計算される。プロファイル生成部は、動作プロファイルのセグメントの少なくとも1つに対し、時間の関数として定められる連続的なジャーク基準を含むように、この動作プロファイルを計算できる。いくつかの実施形態では、動作プロファイルは、ST曲線として、式(14)〜(36)に関連した上記の手順にしたがって計算できる。そのような動作プロファイルは、図15に太い実線で表されたジャークグラフにより描かれた一般的な形式を有するジャーク基準を与え、ジャークは、計算されたジャーク関数にしたがって、最大値と最小値の間で時間に対して緩やかに変化する。ステップ2008では、制御される機械システムは、ステップ2006で定められる動作プロファイルにしたがって、現在のポジションまたは速度から新規のポジションまたは速度に移行するよう命令される。これに伴って、例えば、ステップ2006で計算された動作プロファイルがモータ駆動部に与えられ、その動作プロファイル、および、機械システムの状態を表すリアルタイムのデータを与えるフィードバック信号にしたがって機械システムを駆動するモータを制御する。   In step 2006, in response to receiving the command received in step 2004, a motion profile is calculated to move the mechanical system from the current position or speed to the new position or speed indicated by the command. The profile generator may calculate the motion profile to include a continuous jerk criterion defined as a function of time for at least one of the motion profile segments. In some embodiments, the motion profile can be calculated as an ST curve according to the procedure described above in relation to equations (14)-(36). Such a motion profile provides a jerk criterion having the general form depicted by the jerk graph represented by the bold solid line in FIG. 15, where the jerk is a maximum and minimum value according to the calculated jerk function. It changes slowly over time. In step 2008, the controlled mechanical system is instructed to transition from the current position or speed to a new position or speed according to the motion profile defined in step 2006. Along with this, for example, the operation profile calculated in step 2006 is given to the motor drive unit, and the motor that drives the mechanical system according to the feedback profile that gives the operation profile and real-time data representing the state of the mechanical system. To control.

図21は、動作コントローラのサンプリング時間に同調し、制約条件に基づいた時間的に最適化された動作プロファイルを計算するための手順例2100を表している。ステップ2102では、制御される機械システムに対する制約条件が定められる。前述した例のように、これらは、コントローラのサンプリング時間と、速度、加速度、減速度およびジャークの限界と、を含む。これらの制約条件は、コントローラに関連するプロファイル生成部(例えば、上記のプロファイル生成部1206、1302または1402)に与えることができる。ステップ2104では、機械システムを現在のポジションまたは速度から新規のポジションまたは速度に移行させるコマンドを(例えば、プロファイル生成部が)受信する。ステップ2106では、最大加速ジャーク(Je)、最大減速ジャーク(I)、最大加速度(A)、最大減速度(D)および最大速度(V)の少なくとも1つを動作プロファイルのそれぞれのセグメントに対する時間の関数として計算することにより、そのコマンドに応答して機械システムの軌跡を制御するための動作プロファイルが生成される。(ここで、プロファイルは、表1に定義された7つのセグメントを含むことができる。)さらに、プロファイルのそれぞれのセグメントの継続時間が(例えば、式(14)〜(36)に関連した上記の技術を用いて)計算される。   FIG. 21 illustrates an example procedure 2100 for calculating a temporally optimized motion profile that is tuned to the motion controller sampling time and based on constraints. In step 2102, constraints on the mechanical system to be controlled are established. As in the previous example, these include the sampling time of the controller and the speed, acceleration, deceleration and jerk limits. These constraint conditions can be given to a profile generation unit (for example, the profile generation unit 1206, 1302, or 1402 described above) related to the controller. In step 2104, a command is received (eg, by the profile generator) that causes the machine system to transition from the current position or speed to a new position or speed. In step 2106, at least one of a maximum acceleration jerk (Je), a maximum deceleration jerk (I), a maximum acceleration (A), a maximum deceleration (D) and a maximum velocity (V) is determined for each segment of the motion profile. By calculating as a function, an operation profile for controlling the trajectory of the mechanical system is generated in response to the command. (Here, the profile can include the seven segments defined in Table 1.) In addition, the duration of each segment of the profile (eg, the above described in relation to equations (14)-(36)). Calculated using technology).

ステップ2108では、ステップ2106で計算された全てのプロファイルセグメントの継続時間がコントローラのサンプリング時間の倍数であるかどうかを判定する。全てのセグメントにおいて継続時間がサンプリング時間の倍数であれば、ステップ2114に移り、プロファイルセグメントの継続時間およびステップ2106で計算されたJe、I、A、DおよびVの値に基づいて、動作プロファイルを生成する。一方、1以上のプロファイルセグメントがサイクル時間の倍数に等しくなければ、ステップ2110に移り、全てのプロファイルセグメントの継続時間をサンプリング時間の最も近い倍数に上方修正する。ステップ2112では、ステップ2110において修正されたプロファイルセグメントの継続時間に基づいて、Je、I、A、DおよびVのうちの1以上の値が再計算される。ステップ2114では、修正されたプロファイルセグメントの継続時間、および、再計算されたJe、I、A、DおよびV、もしくは、そのいずれかに基づいて、動作プロファイルが生成される。   In step 2108, it is determined whether the duration of all profile segments calculated in step 2106 is a multiple of the controller sampling time. If the duration is a multiple of the sampling time for all segments, then go to step 2114 and based on the profile segment duration and the values of Je, I, A, D and V calculated in step 2106 Generate. On the other hand, if one or more profile segments are not equal to a multiple of the cycle time, the process moves to step 2110 where the duration of all profile segments is upwardly modified to the nearest multiple of the sampling time. In step 2112, one or more values of Je, I, A, D and V are recalculated based on the duration of the profile segment modified in step 2110. In step 2114, a motion profile is generated based on the modified profile segment duration and / or the recalculated Je, I, A, D and / or V.

図22は、2点間の移動に対する動作プロファイルを、セグメントスキップを用いて効果的に計算する手順例2200を表している。ステップ2202では、制御される機械システムを新規のポジションまたは新規の速度に移行させるコマンドを(例えば、プロファイル生成部1206、1302または1402において)受信する。ステップ2204では、要求された2点間の移動を実施するために、動作プロファイルの7つのセグメントのうちのどれが必要とされるかを決定する。この決定は、例えば、現在のポジションと望ましいポジションとの間の移動すべき距離(ポジション変更の場合)、もしくは、現在の速度と望ましい速度との間の差(速度変更の場合)の測定に基づいて、プロファイル生成部により自動的に行われる。   FIG. 22 shows an example procedure 2200 for effectively calculating an operation profile for movement between two points using segment skip. In step 2202, a command is received (e.g., at profile generator 1206, 1302, or 1402) that causes the controlled mechanical system to transition to a new position or a new speed. In step 2204, it is determined which of the seven segments of the motion profile are required to perform the requested movement between the two points. This determination is based on, for example, measuring the distance to be moved between the current position and the desired position (in the case of a position change) or the difference between the current speed and the desired speed (in the case of a speed change). Automatically performed by the profile generation unit.

ステップ2206では、ステップ2204の決定に基づいて、望ましい動作を実行するために、7つの全てのセグメントが必要かどうかを判断する。全てのセグメントが求められる場合には、ステップ2210に移動し、7つの全てのセグメントに対してプロファイルの計算を実施することにより、2点間の移動のための動作プロファイルを生成する。一方、ステップ2206において、1以上のプロファイルセグメントが要求されないと判断されれば、ステップ2208に移動し、ステップ2204で決定されたように、必要なセグメントのみについて計算を実施することにより、2点間の移動のための動作プロファイルを生成する。手順例2200にしたがったセグメントスキップは、不必要なプロファイルセグメントの計算に関連した余分な処理を減らすことにより、制約条件に基づいた時間的に最適化された動作プロファイルの計算をより効率的に促進する。   In step 2206, based on the determination in step 2204, it is determined whether all seven segments are required to perform the desired operation. If all segments are determined, move to step 2210 to generate a motion profile for movement between two points by performing profile calculations on all seven segments. On the other hand, if it is determined in step 2206 that one or more profile segments are not required, the process moves to step 2208, and as determined in step 2204, the calculation is performed only for the necessary segments, so that Generate an action profile for movement of Segment skipping according to example procedure 2200 more efficiently facilitates calculation of temporally optimized motion profiles based on constraints by reducing extra processing associated with unnecessary profile segment calculations To do.

[ネットワーク化および分散化された環境の例]
当業者であれば、ここに説明されたいくつかの実施形態は、コンピュータネットワークの一部、または、分散化された演算環境に配置され、媒体を含む任意のデータ記憶装置に接続された任意のコンピュータ、もしくは、クライアント装置、サーバ装置を用いて実施できることを認識するだろう。これに関し、ここに説明する画像編集システムのいくつかの実施形態は、任意の数のメモリまたは記憶装置(例えば、図2のメモリ216もしくは図11のメモリ1112)、および、任意の数の記憶装置を用いる任意の数のアプリケーションおよびプロセスを有する任意のコンピュータシステムまたはコンピュータ環境で実施できる。これは、ネットワーク環境もしくは分散された演算環境に配置された、リモートもしくはローカルの記憶装置を有するサーバコンピュータおよびクライアントコンピュータを備える環境を含むが、それに限定される訳ではない。例えば、図2を参照すれば、トルクコマンド生成部204、速度監視部206、慣性演算部208、摩擦係数演算部210およびインターフェース部212は、1つのデバイスに関連する1つのメモリ216に記憶することができる。また、多数のデバイスのそれぞれに関連した多数のメモリに分散しても良い。同じように、トルクコマンド生成部204、速度監視部206、慣性演算部208、摩擦係数演算部210およびインターフェース部212は、1つのプロセッサ214で実行しても良いし、多数のデバイスに関連した多数のプロセッサを用いて実行しても良い。
[Example of networked and distributed environment]
Those skilled in the art will appreciate that some embodiments described herein may be any part of a computer network or any distributed storage environment that is connected to any data storage device including media. It will be appreciated that implementation is possible using a computer, client device, or server device. In this regard, some embodiments of the image editing system described herein may include any number of memories or storage devices (eg, memory 216 in FIG. 2 or memory 1112 in FIG. 11) and any number of storage devices. Can be implemented in any computer system or environment with any number of applications and processes using. This includes, but is not limited to, an environment with server computers and client computers having remote or local storage devices located in a network environment or a distributed computing environment. For example, referring to FIG. 2, the torque command generation unit 204, the speed monitoring unit 206, the inertia calculation unit 208, the friction coefficient calculation unit 210, and the interface unit 212 are stored in one memory 216 related to one device. Can do. It may also be distributed over multiple memories associated with each of multiple devices. Similarly, the torque command generation unit 204, the speed monitoring unit 206, the inertia calculation unit 208, the friction coefficient calculation unit 210, and the interface unit 212 may be executed by one processor 214, or many related to a large number of devices. You may perform using the processor of.

計算の分散化は、演算装置および演算システム間の通信によりコンピュータリソースおよびコンピュータサービスを共有する。これらのリソースおよびサービスは、目的とする情報、キャッシュおよびディスクの記憶の交換を含む。これらのリソースおよびサービスは、負荷のバランス、リソースの拡張、処理の専用化などに対する多数のプロセスユニットの処理能力の共有も含む。計算の分散化は、ネットワークの接続性に利点を有し、企業全体を利するためにクライアントが総体の力を利用することを可能とする。これに関し、いくつかのデバイスは、この開示のいくつかの実施形態に寄与することが可能なアプリケーション、オブジェクト、または、リソースを有する。   In the distribution of computation, computer resources and computer services are shared by communication between the computing device and the computing system. These resources and services include the exchange of information of interest, cache and disk storage. These resources and services also include sharing the processing power of multiple process units for load balancing, resource expansion, processing dedication, and the like. Distributed computing has advantages in network connectivity and allows clients to use the collective power to benefit the entire enterprise. In this regard, some devices have applications, objects, or resources that can contribute to some embodiments of this disclosure.

図23は、ネットワーク化および分散化された演算環境を例示する模式図である。分散化された演算環境は、演算オブジェクト2310、2312など、および、演算オブジェクトもしくは演算装置2320、2322、2324、2326、2328など、を含み、それぞれは、アプリケーション2330,2332、2334、2336、2338により表されるように、プログラム、方法、データ記憶装置、プログラマブルロジックなどを含む。演算オブジェクト2310、2312など、および、演算オブジェクトもしくは演算装置2320、2322、2324、2326、2328などは、PDA(personal digital assistant)、聴覚および視覚デバイス、携帯電話、MP3プレイヤー、パソコン、ノート型パソコン、タブレットなどを含み、ここに説明する慣性推定器の実施形態は、そのようなデバイスの上に存在し、また、そのようなデバイスと相互に作用する。   FIG. 23 is a schematic diagram illustrating a networked and distributed computing environment. The distributed computing environment includes computing objects 2310, 2312, etc., and computing objects or computing devices 2320, 2322, 2324, 2326, 2328, etc., each of which is provided by applications 2330, 2332, 2334, 2336, 2338, respectively. As represented, it includes programs, methods, data storage devices, programmable logic, and the like. Arithmetic objects 2310, 2312, etc. and arithmetic objects or arithmetic devices 2320, 2322, 2324, 2326, 2328, etc. are PDAs (personal digital assistants), auditory and visual devices, mobile phones, MP3 players, personal computers, notebook computers, Inertia estimator embodiments described herein, including tablets and the like, reside on and interact with such devices.

演算オブジェクト2310および2312など、および、演算オブジェクトもしくは演算装置2320、2322、2324、2326、2328などのそれぞれは、演算オブジェクト2310および2312など、および、演算オブジェクトもしくは演算装置2320、2322、2324、2326、2328などのうちの他の1以上のデバイスと、通信ネットワーク2340を経由して、直接または間接的に通信することができる。図23には、1つの要素として表されているが、通信ネットワーク2340は、図23のシステムにサービスを提供する他の演算オブジェクトおよび演算装置を含んでも良いし、多重に相互接続された図示しないネットワークであっても良い。演算オブジェクト2310および2312など、および、演算オブジェクトもしくは演算装置2320、2322、2324、2326、2328などのそれぞれは、この開示のいくつかの実施形態との通信、もしくは、その実行に適したAPIもしくは、他の対象物、ソフトウェア、ファームウェアおよびハードウェア、もしくは、そのいずれかを使用する、アプリケーション2330、2332、2334、2336、2338(例えば、慣性推定器202、動作プロファイル生成システム1102もしくはその要素など)のようなアプリケーションプログラムを含むこともできる。   The calculation objects 2310 and 2312 and the calculation objects or calculation devices 2320, 2322, 2324, 2326, and 2328 are respectively calculated as calculation objects 2310 and 2312 and the calculation objects or calculation devices 2320, 2322, 2324, 2326, 2328 or other devices such as 2328 may communicate directly or indirectly via communication network 2340. Although represented as one element in FIG. 23, the communications network 2340 may include other computing objects and computing devices that provide services to the system of FIG. It may be a network. Each of the computing objects 2310 and 2312 and the computing object or computing device 2320, 2322, 2324, 2326, 2328, etc., communicates with, or is suitable for execution of, some embodiments of this disclosure, or Of applications 2330, 2332, 2334, 2336, 2338 (eg, inertia estimator 202, motion profile generation system 1102 or elements thereof) that use other objects, software, firmware and / or hardware Such an application program can also be included.

分散化された演算環境をサポートするいくつかのシステム、要素およびネットワークの構成がある。例えば、演算システムは、有線もしくは無線システム、局在するネットワークもしくは広く分散されたネットワークにより一体に結合できる。現在、多くのネットワークは、演算を広く分散化できる社会基盤として提供され、多くの異なるネットワークを包含するインターネットに接続される。そして、いくつかの実施形態において、ここで説明されるように、システムに付随する例示的な通信に、任意の好適なネットワーク基盤を用いることができる。   There are several system, element and network configurations that support a distributed computing environment. For example, the computing system can be coupled together by a wired or wireless system, a localized network or a widely distributed network. Currently, many networks are provided as a social infrastructure that can widely distribute operations and are connected to the Internet, which encompasses many different networks. And in some embodiments, any suitable network infrastructure can be used for the exemplary communications associated with the system, as described herein.

このように、ネットワークトポロジーおよびネットワーク基盤のホストとして、クライアント/サーバ、P2P(peer-to-peer)またはハイブリッド構造が用いられる。クライアントは、他の階層もしくはグループのサービスを利用する階層もしくはグループのメンバーである。クライアントは、コンピュータの処理、例えば、大まかには、他のプログラムまたは処理により与えられるサービスを求める命令もしくはタスクのセットであっても良い。クライアントの処理は、他のプログラムもしくはサービスそのものについての全てのワークの詳細を知ることなく、要求したサービスを使用する。   As described above, a client / server, peer-to-peer (P2P) or hybrid structure is used as a network topology and network-based host. A client is a member of a hierarchy or group that uses services of another hierarchy or group. A client may be a set of instructions or tasks that seek a service provided by a computer process, eg, another program or process. The client process uses the requested service without knowing all the work details about the other program or service itself.

クライアント/サーバ構造、特に、ネットワークシステムでは、クライアントは、他のコンピュータ、例えば、サーバにより提供され、共有されるネットワークリソースにアクセスするコンピュータであっても良い。任意のコンピュータは、環境に依存して、クライアント、サーバもしくはその両方と考えることができるが、図23では、非限定的な例として、演算オブジェクトもしくは演算装置2320、2322、2324、2326、2328などは、クライアントと考えることができ、演算オブジェクト2310、2312などは、サーバと考えても良い。ここで、演算オブジェクト2310、2312は、クライアント演算オブジェクトもしくはクライアント演算装置2320、2322、2324、2326、2328などからデータを受信し、データを保存し、データを処理し、クライアント演算オブジェクトもしくはクライアント演算装置2320、2322、2324、2326、2328などにデータを送信するようなデータサービスを提供する。1以上の実施形態に対してここで説明するように、これらの演算装置のいずれもが、データを処理し、システムの技術に関連するトランズアクションサービスまたはタスクを要求しても良い。   In a client / server structure, particularly a network system, a client may be a computer that accesses network resources provided and shared by other computers, eg, servers. Any computer can be considered a client, a server, or both depending on the environment, but in FIG. 23, as non-limiting examples, computing objects or computing devices 2320, 2322, 2324, 2326, 2328, etc. Can be considered as clients, and the computation objects 2310, 2312, etc. may be considered as servers. Here, the computation objects 2310 and 2312 receive data from the client computation object or the client computation devices 2320, 2322, 2324, 2326, 2328, etc., store the data, process the data, and execute the client computation object or the client computation device. A data service that transmits data to 2320, 2322, 2324, 2326, 2328, etc. is provided. As described herein for one or more embodiments, any of these computing devices may process data and request transaction services or tasks related to the technology of the system.

サービスは、通常、インターネットまたは無線ネットワークインフラのような、遠隔もしくはローカルネットワークを介してアクセスできるリモートコンピュータシステムである。クライアント処理は、第1のコンピュータシステムにおいて利用可能であり、サーバ処理は、第2のコンピュータシステムにおいて利用可能である。第1のコンピュータシステムおよび第2のコンピュータシステムは、通信媒体を介して相互に通信する。したがって、分散化された機能を提供し、多くのクライアントにサーバの情報収集の能力を利用させることができる。ここに説明する技術に準拠して用いられる任意のソフトウェアは、独立して提供しても良いし、多数の演算装置もしくは演算オブジェクトに分散されても良い。   The service is usually a remote computer system that can be accessed via a remote or local network, such as the Internet or a wireless network infrastructure. Client processing is available in the first computer system, and server processing is available in the second computer system. The first computer system and the second computer system communicate with each other via a communication medium. Therefore, it is possible to provide a distributed function and allow many clients to use the information collection capability of the server. Arbitrary software used in conformity with the technology described here may be provided independently, or may be distributed to a number of arithmetic devices or arithmetic objects.

例えば、通信ネットワーク/バス2340がインターネットであるネットワーク環境では、演算オブジェクト2310、2312などは、ウェブサーバ、ファイルサーバ、メディアサーバなどであっても良く、クライアント演算オブジェクトもしくは演算装置2320、2322、2324、2326、2328などは、HTTP(hypertext transfer protocol)のような既知のプロトコルを介して通信する。演算オブジェクト2310、2312などは、分散化された演算環境を特徴づけるように、クライアント演算オブジェクトもしくはクライアント演算装置2320、2322、2324、2326、2328のように機能しても良い。   For example, in a network environment where the communication network / bus 2340 is the Internet, the computation objects 2310, 2312, etc. may be web servers, file servers, media servers, etc., and client computation objects or computation devices 2320, 2322, 2324, 2326, 2328, etc. communicate via a known protocol such as HTTP (hypertext transfer protocol). The computing objects 2310, 2312, etc. may function like client computing objects or client computing devices 2320, 2322, 2324, 2326, 2328 to characterize the distributed computing environment.

[演算装置の例示]
前述したように、ここに説明する技術は、有利に任意の好適なデバイスに適用できる。このため、いくつかの実施形態に関連して、携帯可能な演算装置および他の演算装置、演算オブジェクトなどのすべての種類の使用が期待されることを理解すべきである。したがって、次の図24で説明するコンピュータは、その1例である。さらに、好適なサーバは、メディアサーバもしくは他のメディア管理サーバの要素のような、以下のコンピュータの1以上の態様を含むことができる。
[Example of arithmetic unit]
As mentioned above, the techniques described herein can be advantageously applied to any suitable device. Thus, it should be understood that all types of use, such as portable computing devices and other computing devices, computing objects, etc. are expected in connection with some embodiments. Therefore, the computer described in FIG. 24 is an example. In addition, suitable servers can include one or more aspects of the following computers, such as media servers or other media management server elements.

要求されることはないが、実施形態は、装置もしくは器機のサービスの開発者に使用されるために、オペレティングシステムを介して部分的に実行されても良いし、ここに説明されるいくつかの実施形態の1以上の機能的な態様を実施するために動作するアプリケーションソフトウェアの範囲に含まれても良い。ソフトウェアは、プログラムモジュールのように、コンピュータが実行可能な命令の一般的な背景において説明しても良く、クライアントワークステーション、サーバまたは他の装置のような、1以上のコンピュータにより実行される。コンピュータシステムは、様々な構成とデータ通信に用いる様々なプロトコルを有するため、特定の構成およびプロトコルに限定されるべきではないことを、当業者は認識するだろう。   Although not required, embodiments may be implemented in part through an operating system for use by a developer of a device or instrument service, and some may be described herein. It may be included in the scope of application software that operates to implement one or more functional aspects of the embodiments. Software may be described in the general context of computer-executable instructions, such as program modules, being executed by one or more computers, such as client workstations, servers or other devices. Those of skill in the art will recognize that computer systems should not be limited to a particular configuration and protocol because they have different configurations and different protocols used for data communication.

図24は、ここに説明する実施形態の1以上の態様を実施可能な、好適な演算システム環境2400の例を表している。上記のように、演算システム環境2400は、好適な演算環境の1つの例に止まり、使用および機能性の範囲についていかなる限定も意図していない。例示的な演算システム環境2400に表された要素のいずれか、または、その結合に関連するいかなる依存性も、要請も、演算システム環境2400は有しないと解釈される。   FIG. 24 illustrates an example of a suitable computing system environment 2400 that can implement one or more aspects of the embodiments described herein. As noted above, the computing system environment 2400 is only one example of a suitable computing environment and is not intended to limit any scope of use and functionality. It is to be understood that the computing system environment 2400 does not have any dependency or requirement associated with any of the elements depicted in the exemplary computing system environment 2400 or the combination thereof.

図24を参照して、コンピュータ2410の形で1以上の実施形態を実施する例示的な演算装置を説明する。コンピュータ2410の構成要素は、プロセスユニット2420、システムメモリ2430、および、システムメモリを含むいくつかの構成要素をプロセスユニット2420に結合するシステムバス2422を含むが、これに限定される訳ではない。プロセスユニット2420は、例えば、慣性推定器202のプロセッサに関連する機能を実行し、システムメモリ2430は、メモリ216に関連する機能を実行する。   With reference to FIG. 24, an exemplary computing device implementing one or more embodiments in the form of a computer 2410 will be described. The components of computer 2410 include, but are not limited to, process unit 2420, system memory 2430, and system bus 2422 that couples several components including system memory to process unit 2420. The process unit 2420 performs functions related to the processor of the inertia estimator 202, for example, and the system memory 2430 performs functions related to the memory 216.

コンピュータ2410は、通常、コンピュータが読み取り可能ないくつかの媒体、すなわち、コンピュータ2410がアクセス可能な任意の利用可能な媒体を含む。システムメモリ2430は、ROM(read only memory)およびRAM(random access memory)のような揮発性および不揮発性メモリ、もしくは、そのいずれかの形のコンピュータ記憶媒体を含むことができる。限定ではなく例示の形で、システムメモリ2430は、オペレーティングシステム、アプリケーションプログラム、他のプログラムモジュール、および、プログラムデータを記憶しても良い。   Computer 2410 typically includes a number of computer readable media, ie, any available media that can be accessed by computer 2410. The system memory 2430 may include volatile and non-volatile memory such as read only memory (ROM) and random access memory (RAM), or any form of computer storage medium. By way of example and not limitation, the system memory 2430 may store an operating system, application programs, other program modules, and program data.

ユーザは、入力装置2440を介してコンピュータ2410にコマンドおよび情報を入力できる。入力装置2440として、非限定的に、キーボード、キーパッド、ポインティングデバイス、マウス、タッチペン、タッチパッド、タッチスクリーン、トラックボール、モーションディテクタ、カメラ、マイクロフォン、ジョイスティック、ゲームパッド、スキャナー、もしくは、ユーザがコンピュータと相互作用できる任意の装置を含むことができる。モニタまたは他のタイプの表示装置も、出力インターフェース2450のようなインターフェースを介してシステムバス2422に接続される。モニタに加えて、コンピュータは、出力インターフェース2450を介して接続されるスピーカおよびプリンタのような他の周辺出力装置を含むことができる。1以上の実施形態において、入力装置2440は、インターフェース部212にユーザ入力を与え、出力インターフェース2450は、インターフェース部212から慣性推定器202の動作に関係する情報を受信することができる。   A user can enter commands and information into computer 2410 via input device 2440. Input device 2440 includes, but is not limited to, a keyboard, keypad, pointing device, mouse, touch pen, touch pad, touch screen, trackball, motion detector, camera, microphone, joystick, game pad, scanner, or user with a computer Any device that can interact can be included. A monitor or other type of display device is also connected to the system bus 2422 via an interface, such as an output interface 2450. In addition to the monitor, the computer can include other peripheral output devices such as speakers and printers connected via an output interface 2450. In one or more embodiments, the input device 2440 can provide user input to the interface unit 212, and the output interface 2450 can receive information related to the operation of the inertia estimator 202 from the interface unit 212.

コンピュータ2410は、リモートコンピュータ2470のような1以上の遠く離れた他のコンピュータに論理的に結合されるネットワーク化または分散化された環境で動作しても良い。リモートコンピュータ2470は、パーソナルコンピュータ、サーバ、ルータ、ネットワークパソコン(PC)、ピアデバイス(peer device)もしくは他の共通ネットワークノード、または、任意の他のリモートメディアデバイスもしくはリモートメディア伝送デバイスであっても良いし、コンピュータ2410に関連して説明した要素のいずれか、もしくは、全てを含んでも良い。図24に表す論理結合は、LAN(local area network)もしくはWAN(wide area network)のような、ネットワーク2472を含むが、例えば、セルラーネットワークのような、他のネットワーク/バスも含まれる。   Computer 2410 may operate in a networked or distributed environment that is logically coupled to one or more other remote computers, such as remote computer 2470. The remote computer 2470 may be a personal computer, server, router, network personal computer (PC), peer device or other common network node, or any other remote media device or remote media transmission device. Any or all of the elements described in connection with computer 2410 may be included. The logical connections depicted in FIG. 24 include a network 2472, such as a local area network (LAN) or a wide area network (WAN), but may also include other networks / buses, such as a cellular network.

上記のように、例示的な実施形態が、いくつかの演算装置およびネットワーク構造に関連して説明されたが、その背景となる概念は、制約の少ない方式で、メディアを出力または利用することが望まれる任意のネットワークシステムおよび任意の演算装置もしくは演算システムに適用できる。   As described above, exemplary embodiments have been described in connection with several computing devices and network structures, but the underlying concept is that media can be output or utilized in a less restrictive manner. It can be applied to any desired network system and any computing device or computing system.

また、同じまたは類似する機能性を実現する多くの方法がある。例えば、適当なAPI(Application Programming Interface)、ツールキット、ドライバコード、オペレーティングシステム、制御ソフトウェア、独立もしくはダウンロードできるソフトウェアなどにより、ここで説明する技術を利用したアプリケーションおよびサービスが可能となる。このように、実施形態では、ソフトウェアまたはハードウェアと同じように、API(もしくは、他の同じ機能のソフトウェア)の観点から、ここに説明した1以上の形態を実行することが期待される。そして、ここに説明するいくつかの実施形態は、全てがハードウェア、一部がハードウェア、および、全てがソフトウェア、一部がソフトウェアの態様であっても良い。   There are also many ways to achieve the same or similar functionality. For example, an appropriate API (Application Programming Interface), tool kit, driver code, operating system, control software, independent or downloadable software, and the like, enables applications and services using the technology described here. As described above, in the embodiment, it is expected that one or more modes described here are executed from the viewpoint of API (or other software having the same function) as in the case of software or hardware. Some embodiments described herein may be all hardware, some hardware, all software, and some software aspects.

ここで「例示的」という言葉は、例または模式化を意味するために用いられている。疑義を避けるために、ここに開示される態様は、そのような例に限定されない。さらに、例として、ここに説明する任意の態様またはデザインは、他の態様もしくはデザインよりも好ましい、または、有利であると解釈される必要はなく、また、等価な構造および技術を除外するものでもない。さらに、疑義を避けるために「含む」、「有する」および他の類似する語を、詳細な説明、または、請求の範囲のいずれかに使用する限りにおいて、そのような語は、「備える」と類似した用法であって、任意の付加もしくは他の要素を排除しない。   Here the word “exemplary” is used to mean an example or a schematic. For the avoidance of doubt, the embodiments disclosed herein are not limited to such examples. Moreover, by way of example, any aspect or design described herein is not necessarily to be construed as preferred or advantageous over other aspects or designs, and may exclude equivalent structures and techniques. Absent. Further, in order to avoid doubt, as long as “including”, “having” and other similar terms are used either in the detailed description or in the claims, such terms shall be “comprising”. Similar usage does not exclude any additions or other elements.

演算装置は、通常、コンピュータが読み取り可能な記憶媒体(例えば、メモリ216もしくは1112)および通信媒体、もしくは、そのいずれかを含むいくつかの媒体を備える。ここで用いられる、これらの2つの語は、次のように相互に異なる。コンピュータが読み取り可能な媒体は、任意の利用可能な媒体であって、コンピュータがアクセス可能で有り、通常、一過性でない性質を有し、揮発性および不揮発性の両方のものと、脱着可能および脱着不可能の両方のものを含む。非限定的な例として、コンピュータが読み取り可能な記憶媒体は、コンピュータが読み取り可能な命令、プログラムモジュール、構造的データもしくは非構造的データのような情報を保存するために、任意の方法もしくは技術に関連して実装される。コンピュータが読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVD(digital versatile disk)もしくは他の光学的記録ディスク、磁気カセット、磁気テープ、磁気記憶ディスクもしくは他の磁気記憶デバイス、望ましい情報を保存するために使用される他の具体的および非一過性の媒体、もしくはそのいずれかを含むが、これらに限定される訳ではない。コンピュータが読み取り可能な記憶媒体は、それに保存された情報に関するいくつかの動作のために、1以上のローカルもしくはリモートの演算装置により、例えば、アクセス要求、検索要求または他のデータ検索プロトコルを介してアクセスされる。   The computing device typically includes a number of media including a computer readable storage media (eg, memory 216 or 1112) and / or communication media. As used herein, these two terms differ from each other as follows. Computer-readable media can be any available media that can be accessed by the computer and usually has non-transient properties, both volatile and nonvolatile, removable and Includes both non-removable ones. By way of non-limiting example, a computer readable storage medium can be any method or technique for storing information such as computer readable instructions, program modules, structural data, or unstructured data. Implemented in association. Computer-readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD (digital versatile disk) or other optical recording disk, magnetic cassette, magnetic tape, magnetic storage disk Or including, but not limited to, other magnetic storage devices, other specific and non-transitory media used to store desired information, or any of them. A computer readable storage medium may be used by one or more local or remote computing devices, eg, via access requests, search requests, or other data search protocols, for some operations relating to information stored therein. Accessed.

一方、通信媒体は、通常、コンピュータが読み取り可能な命令、データ構造、プログラムモジュールもしくは他の構造データまたは非構造データを、例えば、搬送波もしくは他の輸送手段である変調データ信号のようなデータ信号に一体化し、任意の情報配信または輸送媒体を含む。「変調データ信号」または信号という語は、1以上の信号に情報を符号化する方法により設定もしくは変更された1以上の特性を有する信号に言及する。非限定的な例によれば、通信媒体は、有線ネットワークもしくは直接配線の結合のような有線媒体、および、音波、高周波、赤外および他の無線媒体のような無線媒体を含む。   Communication media, on the other hand, typically converts computer readable instructions, data structures, program modules or other structured or unstructured data into data signals such as modulated data signals which are carrier waves or other transport means. Integrate and include any information delivery or transport medium. The term “modulated data signal” or signal refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of non-limiting example, communication media includes wired media such as wired networks or direct wire connections, and wireless media such as acoustic, high frequency, infrared and other wireless media.

前述したように、ここに説明されるいくつかの技術は、ハードウェアまたはソフトウェア、もしくは、適宜、その結合に関連して実施される。ここに使用する「要素」、「システム」などの用語は、さらに、ハードウェア、ハードウェアとソフトウェアの結合、ソフトウェア、もしくは、ソフトウェアの実行のいずれかであるコンピュータに関連する要素に言及することを意図している。例えば、要素は、プロセッサで実行される処理、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよびコンピュータ、もしくは、そのいずれかであっても良いが、これらに限定される訳ではない。例として、コンピュータ上で実行されるアプリケーションおよびコンピュータの両方が、要素であっても良い。1以上の要素が、プロセスおよび実行スレッド、もしくは、そのいずれかの中に存在し、要素は、1つのコンピュータに局在しても良いし、2以上のコンピュータに分散されても良い。さらに、「デバイス」は、特別に設計されたハードウェア、また、ハードウェアに特定の機能(例えば、符号化および複合化、もしくはそのいずれか)を実施させるソフトウェアの実行により特化される一般のハードウェアとしてもたらされても良い。   As described above, some techniques described herein may be implemented in connection with hardware or software, or a combination thereof, as appropriate. As used herein, terms such as “element”, “system” and the like further refer to elements associated with a computer that are either hardware, a combination of hardware and software, software, or execution of software. Intended. For example, the element may be a process executed by a processor, a processor, an object, an execution file, an execution thread, a program and / or a computer, but is not limited thereto. By way of illustration, both an application running on a computer and the computer can be an element. One or more elements may reside in the process and / or execution thread, and the elements may be localized on one computer or distributed across two or more computers. In addition, a “device” is a specially designed hardware, or a generalized implementation of software that causes the hardware to perform a specific function (eg, encoding and / or decoding). May be provided as hardware.

前述したシステムは、いくつかの要素の相互作用に関連して説明される。そのようなシステムおよび要素は、これらの要素もしくは特定された準要素、特定された要素または準要素のいくつか、および、付加的な要素、もしくは、そのいずれかを含み、前述のいくつかの置き換えおよび結合にしたがうことを認識すべきである。準要素は、親要素の内部(階層構造)に含まれるのではなく、他の要素と通信可能に結合された要素として実装されても良い。さらに、1以上の要素は、集約された機能性を与える単一の要素に結合されても良いし、いくつかの離間した準要素に分割されても良いこと、また、マネージメント層のような任意の1以上の中間層が、集積化された機能性を与えるために、そのような準要素に通信可能に結合されても良いことに留意すべきである。ここに説明する任意の要素は、ここに具体的に説明されないが、当業者に一般的に知られた1以上の他の要素と相互に作用しても良い。   The aforementioned system will be described in connection with the interaction of several elements. Such systems and elements include these elements or specified subelements, some of the specified elements or subelements, and any additional elements, or any of the above, some replacements It should be recognized that and follow the bond. The quasi-element may not be included in the parent element (hierarchical structure), but may be implemented as an element that is communicably coupled with another element. In addition, one or more elements may be combined into a single element that provides aggregate functionality, may be divided into several spaced subelements, and any such as a management layer It should be noted that one or more of the intermediate layers may be communicatively coupled to such sub-elements to provide integrated functionality. Any element described herein is not specifically described herein, but may interact with one or more other elements generally known to those skilled in the art.

ここに説明した多くのインターフェース(例えば、音響セグメント)を提供または役立たせるために、ここに説明する要素は、アクセスが承認されたデータの全体もしくはそのサブセットを試験し、事象およびデータ、もしくはそのいずれかを介して捉えられた観察結果から、システム、環境などの状態を論証もしくは推定することができる。推定は、具体的な背景または動作を決定するために用いられ、例えば、状態の確率分布を生成することができる。推定は確率的、すなわち、データおよび事象の考察に基づいて対象の状態の確率分布の計算であっても良い。推定は、事象およびデータ、もしくは、そのいずれかから、より高度の事象を構成するために用いる技術に言及することもできる。   In order to provide or serve many of the interfaces described herein (eg, acoustic segments), the elements described herein test the entire or a subset of data authorized for access, and / or events and / or data. The state of the system, environment, etc. can be demonstrated or estimated from the observation results captured via The estimation can be used to determine a specific background or action, for example, to generate a probability distribution of states. The estimation may be probabilistic, i.e. a calculation of the probability distribution of the state of interest based on data and event considerations. Estimates can also refer to techniques used to construct higher-level events from events and / or data.

そのような推定は、観測された事象および保存された事象のデータのセット、および、事象が一時的な近接状態において相関するかどうか、また、事象およびデータが、1またはいくつかの事象およびデータソースから生じたかどうか、から新規の事象または動作を構成することができる。いくつかの(明示的および黙示的に備えられた、もしくは、そのいずれかである)分類スキームおよびシステム、もしくは、そのいずれか(例えば、サポートベクトルマシン(support vector machine)、ニューラルネットワーク(neural network)、エキスパートシステム(expert system)、簡易ベースネットワーク(Bayesian belief network)、ファジーロジック(fuzzy logic)、データフージョンエンジン(data fusion engine)など)は、クレームされた主題に関連した自動化および推定された動作を実施に用いることができる。   Such an estimate is a set of observed and stored event data, and whether events correlate in temporary proximity, and events and data are one or several events and data A new event or action can be constructed from whether it originated from the source. A number of classification schemes and / or systems (either explicitly and implicitly provided or either) (eg, support vector machines, neural networks) , Expert systems, Bayesian belief networks, fuzzy logic, data fusion engines, etc., perform automated and estimated operations related to the claimed subject matter. Can be used for implementation.

分類器は、入力の属性ベクトル、x=(x1、x2、x3、x4・・xn)を、関数f(x)によりマップし、その入力が1つのクラスに属することを確定させる。そのような分類には、ユーザが自動的に実行されることを望む動作を予知もしくは推定するために、確率的および統計に基づいた解析(例えば、解析設備および解析コストへの組み込み)を用いる。サポートベクトルマシン(support vector machine:SVM)は、用いることが可能な分類器の1例である。SVMは、可能な入力空間におけるハイパーサーフェース(hyper-surface)を見つけることにより動作する。ここで、ハイパーサーフェースは、非誘因事象からの誘因基準を分割する。直感的に、これは、訓練データに近いが同一でないテストデータに対して、分類を修正する。分類のための他の直接的および間接的なモデルとして、ナイーブベイズ(naive Bayes)、ベイジアンネットワーク(Bayesian network)、ディシジョンツリー(decision tree)、ニューラルネットワーク、ファジーロジックモデル(fuzzy logic model)、および、独立性の異なるパターンを与える確率分類モデルを用いることができる。ここで用いられる分類は、モデルの優先度の解明に用いられる統計的な不具合も内包する。   The classifier maps the input attribute vector, x = (x1, x2, x3, x4... Xn) with a function f (x) and determines that the input belongs to one class. Such classification uses probabilistic and statistical analysis (eg, incorporation into analysis equipment and analysis costs) to predict or estimate the actions that the user desires to be performed automatically. A support vector machine (SVM) is an example of a classifier that can be used. SVM works by finding a hyper-surface in the possible input space. Here, the hypersurface divides the incentive criteria from non-incentive events. Intuitively, this corrects the classification for test data that is close but not identical to the training data. Other direct and indirect models for classification include naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and Probabilistic classification models that give different patterns of independence can be used. The classification used here also includes statistical defects used to elucidate model priorities.

上記の例示的なシステムの視点において、説明された主題にしたがって実行される手順は、いくつかのフローチャート(例えば、図9、10および20〜22)参照して良く認識できるであろう。説明の簡略化の観点から、手順は、連続したブロックとして示され、説明されるが、クレームされた主題は、ブロックの順序により限定されることはなく、いくつかのブロックは、ここに表され説明されたものと異なる順序であっても良いし、他のブロックと同時に実行されても良いことを理解し、認識すべきである。逐次的でない分岐したフローがフローチャートに表されているが、いくつかの他の分岐、フローパスおよびブロックの順序が実行され、同じ、または、類似した結果が得られることが認識できる。さらに、以下に説明する手順の実施では、すべてのブロックが必要とされないであろう。   In view of the exemplary system above, the procedures performed in accordance with the described subject matter may be better appreciated with reference to several flowcharts (eg, FIGS. 9, 10 and 20-22). For ease of explanation, the procedures are shown and described as sequential blocks, but the claimed subject matter is not limited by the order of the blocks, and some blocks are represented here. It should be understood and appreciated that the order may be different than that described, or may be executed concurrently with other blocks. Although a non-sequential branching flow is represented in the flowchart, it can be appreciated that some other branching, flow path and block ordering is performed, yielding the same or similar results. In addition, implementation of the procedure described below may not require all blocks.

ここに説明されたいくつかの実施形態に加えて、他の類似した実施形態を用いることができ、対応する実施形態の同じもしくは類似した機能を実施するために、上記の実施形態から逸脱することなく、その変形および付加が可能である。さらに、多数のプロセスチップまたは多数のデバイスは、ここに説明する1以上の機能を協働して実行することができ、複数のデバイスにまたがった保存も、同じように可能である。したがって、本発明は、いかなる実施形態にも限定されず、添付されたクレームの広さ、精神および範囲を解釈することができる。   In addition to some of the embodiments described herein, other similar embodiments can be used and depart from the above embodiments to perform the same or similar functions of the corresponding embodiments. The modification and addition are possible. Further, multiple process chips or multiple devices can perform one or more functions described herein in concert, and storage across multiple devices is possible as well. Accordingly, the invention is not limited to any embodiment, but is capable of interpreting the breadth, spirit and scope of the appended claims.

Claims (20)

時間に対して連続的に変化するトルクコマンド信号を生成し、
前記トルクコマンド信号に応答する動作システムの速度を表す、動作デバイスの速度データを測定し、
前記速度データおよび前記トルクコマンド信号の少なくとも一部に基づいて、前記動作システムの慣性および摩擦係数の少なくとも1つを決定する動作システムのパラメータ推定法。
Generate a torque command signal that changes continuously over time,
Measuring speed data of the operating device representing the speed of the operating system in response to the torque command signal;
A motion system parameter estimation method for determining at least one of inertia and a coefficient of friction of the motion system based on at least a portion of the speed data and the torque command signal.
前記決定は、前記速度データの時間領域に対する1以上の積分、および、前記トルクコマンド信号の前記時間領域に対する1以上の積分の少なくとも一部に基づいて行われる請求項1記載の動作システムのパラメータ推定法。   The operational system parameter estimation according to claim 1, wherein the determination is made based on at least a part of one or more integrals of the speed data in a time domain and one or more integrals of the torque command signal in the time domain. Law. 前記トルクコマンド信号の生成は、予め定められたテストシーケンスにしたがったトルクコマンド信号の調整を含み、
前記調整は、予め定められた速度検出点に到達した前記動作システムの前記速度に応答した前記トルクコマンド信号の方向もしくは変化のレートの少なくとも1つを変化させる請求項1または2に記載の動作システムのパラメータ推定法。
Generating the torque command signal includes adjusting the torque command signal according to a predetermined test sequence;
The operating system according to claim 1 or 2, wherein the adjustment changes at least one of a direction or a rate of change of the torque command signal in response to the speed of the operating system that has reached a predetermined speed detection point. Parameter estimation method.
前記決定は、前記時間領域の第1セグメントを加速フェーズ、前記時間領域の第2セグメントを減速領域とし、
accおよびVaccを得るために前記トルクコマンド信号および前記速度データを前記加速フェーズにおいてそれぞれ積分し、
decおよびVdecを得るために前記トルクコマンド信号および前記速度データを前記加速フェーズにおいてそれぞれ積分し、
前記慣性および前記摩擦係数の少なくともいずれか1つをUacc、Vacc、UdecおよびVdecの関数として決定する請求項2または3に記載の動作システムのパラメータ推定法。
ここで、
acc(t)は、前記加速フェーズに対応する前記トルクコマンド信号の一部であり、
acc(t)は、前記加速フェーズに対応する前記速度データの一部であり、
dec(t)は、前記減速フェーズに対応する前記トルクコマンド信号の一部であり、
dec(t)は、前記減速フェーズに対応する前記速度データの一部である。
In the determination, the first segment in the time domain is an acceleration phase, the second segment in the time domain is a deceleration region,
Integrating the torque command signal and the speed data in the acceleration phase, respectively, to obtain U acc and V acc ;
Integrating the torque command signal and the speed data in the acceleration phase to obtain U dec and V dec , respectively;
The method for estimating a parameter of an operating system according to claim 2 or 3, wherein at least one of the inertia and the coefficient of friction is determined as a function of U acc , V acc , U dec and V dec .
here,
u acc (t) is a part of the torque command signal corresponding to the acceleration phase;
v acc (t) is a part of the speed data corresponding to the acceleration phase;
u dec (t) is a part of the torque command signal corresponding to the deceleration phase;
v dec (t) is a part of the speed data corresponding to the deceleration phase.
前記慣性および前記摩擦係数の少なくともいずれか1つの前記決定は、前記関数にしたがって前記慣性を決定すること、および、前記関数にしたがって前記摩擦係数を決定すること、の少なくともいずれか1つを含む請求項4記載の動作システムのパラメータ推定法。
ここで、前記慣性を表す関数Jは、
であり、
前記摩擦係数を表す関数Bは、
であり、
Δvacc(t)は、前記加速フェーズの終了時における前記動作システムの速度と、前記加速フェーズの開始時における前記動作システムの速度と、の差であり、
Δvdec(t)は、前記減速フェーズの終了時における前記動作システムの速度と、前記減速フェーズの開始時における前記動作システムの速度と、の差である。
The determination of at least one of the inertia and the coefficient of friction includes at least one of determining the inertia according to the function and determining the coefficient of friction according to the function. Item 5. A parameter estimation method for an operation system according to Item 4.
Here, the function J representing the inertia is
And
The function B representing the friction coefficient is
And
Δv acc (t) is the difference between the speed of the operating system at the end of the acceleration phase and the speed of the operating system at the start of the acceleration phase;
Δv dec (t) is the difference between the speed of the operating system at the end of the deceleration phase and the speed of the operating system at the start of the deceleration phase.
前記慣性および前記摩擦係数の少なくともいずれか1つに基づいて、前記動作システムの制御利得係数を決定する請求項1〜5のいずれか1つに記載の動作システムのパラメータ推定法。   The operating system parameter estimation method according to claim 1, wherein a control gain coefficient of the operating system is determined based on at least one of the inertia and the friction coefficient. メモリと、
前記メモリに保存されたコンピュータが実行可能な要素を実行するプロセッサと、を備え、
前記コンピュータが実行可能な要素は、
テストシーケンスの間、時間に対して連続的に変化するトルクコマンド信号を生成するトルクコマンド生成部と、
前記トルクコマンド信号に応答する動作システムの速度を時間に対して表した速度データを取得する速度監視部と、
前記トルクコマンド信号および前記速度データに基づいて、前記動作システムの慣性を推定する慣性演算部、および、前記トルクコマンド信号および前記速度データに基づいて、前記動作システムの摩擦係数を推定する摩擦係数演算部、の少なくともいずれか1つと、
を含む動作システムのパラメータ推定システム。
Memory,
A processor that executes computer-executable elements stored in the memory,
The computer executable elements are:
A torque command generator that generates a torque command signal that continuously changes over time during the test sequence;
A speed monitor that acquires speed data representing the speed of the operating system in response to the torque command signal with respect to time;
An inertia calculation unit that estimates the inertia of the operating system based on the torque command signal and the speed data, and a friction coefficient calculation that estimates a friction coefficient of the operating system based on the torque command signal and the speed data At least one of the parts,
A parameter estimation system for an operating system including:
前記テストシーケンスの継続時間の少なくとも一部である時間領域において、前記慣性演算部および前記摩擦係数演算部の少なくとのいずれか1つは、前記時間領域における速度データの1以上の積分、および、前記時間領域におけるトルクコマンド信号の1以上の積分の少なくとも一部に基づいて、前記慣性または前記摩擦係数をそれぞれ推定する請求項7記載の動作システムのパラメータ推定システム。   In a time domain that is at least part of the duration of the test sequence, at least one of the inertia calculator and the friction coefficient calculator is one or more integrals of velocity data in the time domain, and 8. The operating system parameter estimation system according to claim 7, wherein the inertia or the friction coefficient is estimated based on at least a part of one or more integrals of the torque command signal in the time domain. 前記トルクコマンド生成部は、前記テストシーケンスのそれぞれのフェーズに関連して予め定められた命令に基づいたトルク関数u(t)にしたがってトルクコマンド信号を制御し、
前記それぞれのフェーズは、それぞれに定められた速度検出点の値に達した前記動作システムの前記速度に応答して開始される請求項7または8に記載の動作システムのパラメータ推定システム。
The torque command generator controls the torque command signal according to a torque function u (t) based on a predetermined command in relation to each phase of the test sequence;
The system according to claim 7 or 8, wherein each of the phases is started in response to the speed of the operating system that has reached a value of a speed detection point determined in each.
前記慣性演算部および前記摩擦係数演算部の少なくともいずれか1つは、Uacc、Vacc、UdecおよびVdecの関数として前記慣性を推定する請求項8または9に記載の動作システムのパラメータ推定システム。
ここで、
であり、
acc(t)は、前記テストシーケンスの前記加速フェーズに対応する前記トルクコマンド信号の一部であり、
acc(t)は、前記加速フェーズに対応する前記速度データの一部であり、
dec(t)は、前記テストシーケンスの前記減速フェーズに対応する前記トルクコマンド信号の一部であり、
dec(t)は、前記減速フェーズに対応する前記速度データの一部である。
10. The motion system parameter estimation according to claim 8, wherein at least one of the inertia calculation unit and the friction coefficient calculation unit estimates the inertia as a function of U acc , V acc , U dec, and V dec. system.
here,
And
u acc (t) is a part of the torque command signal corresponding to the acceleration phase of the test sequence;
v acc (t) is a part of the speed data corresponding to the acceleration phase;
u dec (t) is a part of the torque command signal corresponding to the deceleration phase of the test sequence;
v dec (t) is a part of the speed data corresponding to the deceleration phase.
前記慣性演算部は、前記関数に基づいて前記慣性を推定する請求項10記載の動作システムのパラメータ推定システム。
ここで、前記慣性を表す関数Jは、
であり、
Δvacc(t)は、前記加速フェーズの終了時における前記動作システムの速度と、前記加速フェーズの開始時における前記動作システムの速度と、の差であり、
Δvdec(t)は、前記減速フェーズの終了時における前記動作システムの速度と、前記減速フェーズの開始時における前記動作システムの速度と、の差である。
The system according to claim 10, wherein the inertia calculation unit estimates the inertia based on the function.
Here, the function J representing the inertia is
And
Δv acc (t) is the difference between the speed of the operating system at the end of the acceleration phase and the speed of the operating system at the start of the acceleration phase;
Δv dec (t) is the difference between the speed of the operating system at the end of the deceleration phase and the speed of the operating system at the start of the deceleration phase.
前記摩擦係数演算部は、前記関数に基づいて前記摩擦係数を推定する請求項10記載の動作システムのパラメータ推定システム。
ここで、前記慣性を表す関数Bは、
であり、
Δvacc(t)は、前記加速フェーズの終了時における前記動作システムの速度と、前記加速フェーズの開始時における前記動作システムの速度と、の差であり、
Δvdec(t)は、前記減速フェーズの終了時における前記動作システムの速度と、前記減速フェーズの開始時における前記動作システムの速度と、の差である。
The system according to claim 10, wherein the friction coefficient calculation unit estimates the friction coefficient based on the function.
Here, the function B representing the inertia is
And
Δv acc (t) is the difference between the speed of the operating system at the end of the acceleration phase and the speed of the operating system at the start of the acceleration phase;
Δv dec (t) is the difference between the speed of the operating system at the end of the deceleration phase and the speed of the operating system at the start of the deceleration phase.
前記慣性および前記摩擦係数の少なくともいずれか1つの関数として、少なくとも1つの制御利得係数を生成するチューニング部をさらに備えた請求項7〜12のいずれか1つに記載の動作システムのパラメータ推定システム。   13. The parameter estimation system for an operating system according to claim 7, further comprising a tuning unit that generates at least one control gain coefficient as a function of at least one of the inertia and the friction coefficient. 動作デバイスの目標ポジションおよび目標速度の少なくともいずれか1つを指示する設定点を受信し、
前記目標ポジションおよび前記目標速度の少なくともいずれか1つに、前記動作デバイスを移行させるための動作プロファイルを生成し、
前記動作プロファイルは、その少なくとも1つのセグメントに対し、時間の関数として連続的に変化するジャーク基準を定める動作プロファイルの生成方法。
Receiving a set point indicating at least one of a target position and a target speed of the operating device;
Generating an operation profile for transferring the operation device to at least one of the target position and the target speed;
A method of generating a motion profile, wherein the motion profile defines a jerk criterion that continuously changes as a function of time for at least one segment thereof.
前記動作プロファイルの前記生成は、その少なくとも1つのセグメントに対して、時間の関数として、加速度基準、速度基準およびポジション基準のうちの少なくとも1つを定めることを含む請求項14記載の動作プロファイルの生成方法。   15. The generation of a motion profile according to claim 14, wherein the generation of the motion profile includes defining at least one of an acceleration criterion, a velocity criterion, and a position criterion as a function of time for the at least one segment. Method. 前記生成は、前記動作プロファイルのそれぞれのセグメントに対して、前記ジャーク基準、速度基準およびポジション基準のうちの少なくとも1つを計算し、
前記動作プロファイルの前記それぞれのセグメントの継続時間を計算し、
前記継続時間を、動作コントローラのサンプリング時間のそれぞれに最も近い倍数に修正し、
前記修正された継続時間を用いて、前記ジャーク基準、前記加速度基準、前記減速度基準および前記速度基準のうちの少なくとも1つを再計算する請求項14または15に記載の動作プロファイルの生成方法。
The generating calculates at least one of the jerk criteria, velocity criteria and position criteria for each segment of the motion profile;
Calculating the duration of each segment of the motion profile;
Modify the duration to the nearest multiple of each of the motion controller sampling times;
The method according to claim 14 or 15, wherein the modified duration is used to recalculate at least one of the jerk criterion, the acceleration criterion, the deceleration criterion and the speed criterion.
前記生成は、
の関係にしたがって、前記動作プロファイルを生成する請求項14〜16のいずれか1つに記載の動作プロファイルの生成方法。
ここで、Pは前記動作デバイスのポジション、Jeは最大加速ジャーク、Iは最大減速ジャーク、Aは最大加速度、Dは最大減速度、Vは最大速度であり、
は、前記動作プロファイルにおける加速度が増加する段階および減少する段階の継続時間、tは、前記動作プロファイルの加速度が一定の段階の継続時間、tは、前記動作プロファイルの一定速度の段階の継続時間、tは、前記動作プロファイルにおける減速度が増加する段階および減少する段階の継続時間、tは、動作プロファイルの減速度が一定の段階の継続時間であり、
ρは、
で表される。
The generation is
The method for generating a motion profile according to claim 14, wherein the motion profile is generated in accordance with the relationship:
Where P is the position of the operating device, Je is the maximum acceleration jerk, I is the maximum deceleration jerk, A is the maximum acceleration, D is the maximum deceleration, and V is the maximum speed.
t 1 is the duration of the stage in which the acceleration in the motion profile increases and decreases, t 2 is the duration of the stage in which the acceleration of the motion profile is constant, and t 3 is the stage of the constant speed of the motion profile. , T 4 is the duration of the phase in which the deceleration in the motion profile increases and decreases, t 5 is the duration of the phase in which the deceleration of the motion profile is constant,
ρ is
It is represented by
メモリと、
前記メモリに保存されたコンピュータが実行可能な要素を実行するプロセッサと、を備え、
前記コンピュータが実行可能な要素は、動作デバイスの目標ポジションまたは目標速度の受信に応答して、動作プロファイルを生成する動作プロファイル生成部を含み、
前記動作プロファイルは、その少なくとも1つの段階において、時間に対して連続的に変化するジャーク基準を有し、前記動作デバイスを前記目標ポジションまたは前記目標速度に移行させるための軌跡を定める動作プロファイルの生成システム。
Memory,
A processor that executes computer-executable elements stored in the memory,
The computer-executable element includes a motion profile generator that generates a motion profile in response to receiving a target position or target speed of the motion device;
The motion profile has a jerk criterion that varies continuously with time in at least one of its phases, and generates a motion profile that defines a trajectory for transitioning the motion device to the target position or the target speed. system.
前記動作プロファイル生成部は、少なくとも1つの定められた制約条件に依存する動作プロファイルを生成し、
前記少なくとも1つの定められた制約条件は、サンプリング時間、速度限界、加速度限界、ジャーク限界および減速度限界のうちの少なくとも1つを含む請求項18記載の動作プロファイルの生成システム。
The motion profile generation unit generates a motion profile that depends on at least one defined constraint,
The system of claim 18, wherein the at least one defined constraint includes at least one of a sampling time, a speed limit, an acceleration limit, a jerk limit, and a deceleration limit.
前記動作プロファイル生成部は、
の関係にしたがって、前記動作プロファイルを生成する請求項18または19に記載の動作プロファイルの生成システム。
ここで、Pは前記動作デバイスのポジション、Jeは最大加速ジャーク、Iは最大減速ジャーク、Aは最大加速度、Dは最大減速度、Vは最大速度であり、
は、前記動作プロファイルにおける加速度が増加する段階および減少する段階の継続時間、tは、前記動作プロファイルの加速度が一定の段階の継続時間、tは、前記動作プロファイルの一定速度の段階の継続時間、tは、前記動作プロファイルにおける減速度が増加する段階および減少する段階の継続時間、tは、動作プロファイルの減速度が一定の段階の継続時間であり、
ρは、
で表される。
The motion profile generation unit
20. The motion profile generation system according to claim 18 or 19, wherein the motion profile is generated in accordance with the relationship:
Where P is the position of the operating device, Je is the maximum acceleration jerk, I is the maximum deceleration jerk, A is the maximum acceleration, D is the maximum deceleration, and V is the maximum speed.
t 1 is the duration of the stage in which the acceleration in the motion profile increases and decreases, t 2 is the duration of the stage in which the acceleration of the motion profile is constant, and t 3 is the stage of the constant speed of the motion profile. , T 4 is the duration of the phase in which the deceleration in the motion profile increases and decreases, t 5 is the duration of the phase in which the deceleration of the motion profile is constant,
ρ is
It is represented by
JP2012226827A 2012-04-20 2012-10-12 Parameter estimation method for operation system, parameter estimation method thereof, generation method for operation profile and generation system thereof Pending JP2013225284A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/451,924 2012-04-20
US13/451,924 US8710777B2 (en) 2012-04-20 2012-04-20 Method for automatically estimating inertia in a mechanical system
US13/474,919 2012-05-18
US13/474,919 US9041337B2 (en) 2012-05-18 2012-05-18 Motion profile generator

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016219310A Division JP2017062824A (en) 2012-04-20 2016-11-10 Operation profile generation method and operation profile generation system

Publications (1)

Publication Number Publication Date
JP2013225284A true JP2013225284A (en) 2013-10-31

Family

ID=49384229

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012226827A Pending JP2013225284A (en) 2012-04-20 2012-10-12 Parameter estimation method for operation system, parameter estimation method thereof, generation method for operation profile and generation system thereof
JP2016219310A Pending JP2017062824A (en) 2012-04-20 2016-11-10 Operation profile generation method and operation profile generation system

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016219310A Pending JP2017062824A (en) 2012-04-20 2016-11-10 Operation profile generation method and operation profile generation system

Country Status (4)

Country Link
JP (2) JP2013225284A (en)
KR (1) KR101378824B1 (en)
TW (1) TWI498701B (en)
WO (1) WO2013158849A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5996127B2 (en) * 2013-12-06 2016-09-21 三菱電機株式会社 Friction identification method and friction identification apparatus
JPWO2021009976A1 (en) * 2019-07-18 2021-01-21

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101642198B1 (en) 2014-12-11 2016-07-29 포항공과대학교 산학협력단 Apparatus for generating motion effects and computer readable medium for the same
US10033308B2 (en) * 2015-03-17 2018-07-24 Intuitive Surgical Operations, Inc. Systems and methods for motor torque compensation
EP3076541A1 (en) 2015-03-31 2016-10-05 Siemens Aktiengesellschaft Drive device with inertia factor estimation
US10126202B2 (en) * 2015-09-11 2018-11-13 Linestream Technologies Method for automatically estimating inertia, coulomb friction, and viscous friction in a mechanical system
EP3258331A1 (en) * 2016-06-16 2017-12-20 Schneider Electric Industries SAS Method for monitoring a machine
US9870002B1 (en) * 2016-09-06 2018-01-16 X Development Llc Velocity control of position-controlled motor controllers
CN113485464A (en) * 2017-06-27 2021-10-08 深圳市大疆灵眸科技有限公司 Handheld holder device, control method thereof and computer readable storage medium
US11615659B2 (en) * 2018-05-17 2023-03-28 Arcus Technology, Inc. Motion system health management using multidimensional modeling using motor operational parameters
CN109472058B (en) * 2018-10-16 2023-07-14 成都泰隆游乐实业有限公司 Water slide track analysis method
EP3952763A1 (en) * 2019-04-08 2022-02-16 Boston Scientific Scimed, Inc. Atherectomy system with excess torque protection
CN111198561B (en) * 2019-12-05 2021-10-22 浙江大华技术股份有限公司 Motion control method and device for target tracking, computer equipment and storage medium
TWI721872B (en) * 2020-04-23 2021-03-11 德律科技股份有限公司 Automatic control system and method for automatic machine having conveyer
CN113821006B (en) * 2020-05-07 2022-10-14 牧今科技 Method and computing system for determining values of error parameters indicative of robot calibration quality
CN113962138B (en) * 2020-07-21 2023-11-03 腾讯科技(深圳)有限公司 Method, device, equipment and storage medium for determining parameter value of mobile platform

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007244053A (en) * 2006-03-07 2007-09-20 Hitachi Industrial Equipment Systems Co Ltd Motor control device and motor control method

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03290706A (en) * 1990-04-09 1991-12-20 Mitsubishi Electric Corp Numerical controller
JP3341305B2 (en) * 1992-06-30 2002-11-05 ソニー株式会社 Acceleration / deceleration pattern generation apparatus, acceleration / deceleration pattern generation method, and method for solving inverse kinematics problem and time axis correction method used for the same
US6037736A (en) * 1995-05-17 2000-03-14 Kabushiki Kaisha Yaskawa Denki Apparatus for determination of control constant
US6294755B1 (en) * 1997-12-02 2001-09-25 Lacent Technologies, Inc. Gantry-mounted laser nozzle and method for controlling laser positioning
US6320345B1 (en) * 1998-03-05 2001-11-20 Nikon Corporation Command trajectory for driving a stage with minimal vibration
JP2000040658A (en) * 1998-07-24 2000-02-08 Nikon Corp Stage control method and scanning aligner
JP3654049B2 (en) * 1999-05-21 2005-06-02 松下電器産業株式会社 Motor control device
US6495791B2 (en) * 2000-05-16 2002-12-17 General Scanning, Inc. Method and subsystem for generating a trajectory to be followed by a motor-driven stage when processing microstructures at a laser-processing site
TW200627109A (en) * 2004-07-27 2006-08-01 Yaskawa Denki Seisakusho Kk Servo control apparatus
JP2006074896A (en) * 2004-09-01 2006-03-16 Yaskawa Electric Corp Motor control device
JP4594165B2 (en) * 2005-05-24 2010-12-08 株式会社日立産機システム Mechanical system parameter estimation method and system for motor controller
GB0610632D0 (en) * 2006-05-30 2006-07-05 Surface Control Ltd Monitoring apparatus
JP5169836B2 (en) * 2006-12-21 2013-03-27 株式会社安川電機 Position control device
US7622881B2 (en) * 2007-02-28 2009-11-24 Rockwell Automation Technologies, Inc. Method and apparatus for estimating system inertia where number of motor rotations are restricted
JP4335286B2 (en) 2008-02-08 2009-09-30 ファナック株式会社 Robot control apparatus and robot control method having component protection function
US8232758B2 (en) * 2009-08-28 2012-07-31 Fanuc Ltd Controller of electric motor having function of estimating inertia and friction simultaneously
KR101121474B1 (en) * 2010-12-01 2012-03-13 대성전기공업 주식회사 Method for determining moment of inertia and friction coefficient of dc servo motor system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007244053A (en) * 2006-03-07 2007-09-20 Hitachi Industrial Equipment Systems Co Ltd Motor control device and motor control method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5996127B2 (en) * 2013-12-06 2016-09-21 三菱電機株式会社 Friction identification method and friction identification apparatus
JPWO2021009976A1 (en) * 2019-07-18 2021-01-21
WO2021009976A1 (en) * 2019-07-18 2021-01-21 株式会社安川電機 Control system, control device, and control method
JP7222427B2 (en) 2019-07-18 2023-02-15 株式会社安川電機 Control system, control device and control method
US11750133B2 (en) 2019-07-18 2023-09-05 Kabushiki Kaisha Yaskawa Denki External force estimation during motor control

Also Published As

Publication number Publication date
WO2013158849A3 (en) 2013-12-12
TWI498701B (en) 2015-09-01
WO2013158849A2 (en) 2013-10-24
KR101378824B1 (en) 2014-03-27
TW201351082A (en) 2013-12-16
KR20130122704A (en) 2013-11-08
JP2017062824A (en) 2017-03-30
WO2013158849A4 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
JP2017062824A (en) Operation profile generation method and operation profile generation system
US9268316B2 (en) Method for automatically estimating a friction coefficient in a mechanical system
US10126202B2 (en) Method for automatically estimating inertia, coulomb friction, and viscous friction in a mechanical system
CN107077106B (en) Optimized parameterization of active disturbance rejection control
US9041337B2 (en) Motion profile generator
US9690261B2 (en) Method for automatically setting responsiveness parameters for motion control systems
US10184917B2 (en) Method for automatically identifying resonance
CN110383187B (en) System parameter identification method based on rate-limited relay with hysteresis and sinusoidal injection
US9776640B1 (en) Automatic determination of maximum acceleration for motion profiles
JP6564432B2 (en) Machine learning device, control system, control device, and machine learning method
JP2018186610A (en) System, evaluation device, and evaluation method
US10222764B2 (en) Application-specification-oriented control design
CN111552237A (en) Machine learning device, control device, and method for setting search range for machine learning
JP2014174842A (en) S-shaped acceleration/deceleration control program, operation control program, recording medium, controller, s-shaped acceleration/deceleration control calculation method, and work operation control system
JP6740263B2 (en) Machine learning device, servo motor control device, servo motor control system, and machine learning method
JP7469476B2 (en) Control support device, control system, and control support method
WO2023008236A1 (en) Operation adjustment system, motor control system, operation adjustment method, and operation adjustment program
WO2024029074A1 (en) Drive condition determination device and drive condition determination method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151009

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161109

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170310

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170905