JP2021056001A - Arithmetic system, arithmetic device and arithmetic program - Google Patents
Arithmetic system, arithmetic device and arithmetic program Download PDFInfo
- Publication number
- JP2021056001A JP2021056001A JP2018016724A JP2018016724A JP2021056001A JP 2021056001 A JP2021056001 A JP 2021056001A JP 2018016724 A JP2018016724 A JP 2018016724A JP 2018016724 A JP2018016724 A JP 2018016724A JP 2021056001 A JP2021056001 A JP 2021056001A
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- unit
- angular velocity
- interpolation
- predetermined
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Navigation (AREA)
Abstract
Description
本開示は、演算システム、演算装置及び演算プログラムに関する。 The present disclosure relates to arithmetic systems, arithmetic units and arithmetic programs.
機器の姿勢を表現するのに、クオータニオン(四元数)演算を基にオイラー角(姿勢情報の一例)を用いる技術が知られている。 There is known a technique that uses Euler angles (an example of posture information) based on quaternion (quaternion) operations to express the posture of a device.
しかしながら、上記の従来技術のように、クオータニオン演算などの行列演算を処理周期ごとに毎回行うと消費電流の増加や処理時間の長時間化が発生するという問題がある。 However, as in the above-mentioned conventional technique, if a matrix operation such as a quaternion operation is performed every processing cycle, there is a problem that the current consumption increases and the processing time becomes long.
そこで、1つの側面では、本発明は、消費電流の増加や処理時間の長時間化を抑制することを目的とする。 Therefore, in one aspect, it is an object of the present invention to suppress an increase in current consumption and an increase in processing time.
1つの側面では、物体と、
前記物体に配置され、加速度データを出力する加速度センサと、
前記物体に配置され、角速度データを出力する角速度センサと、
前記物体の姿勢を表す姿勢情報を所定周期ごとに出力する出力部と、
前記加速度データと前記角速度データに基づき、前記所定周期ごとの一部の周期で、前記姿勢情報を、行列演算を含む演算により算出する演算部と
前記所定周期ごとの他の一部の周期で、前記演算部の演算結果に基づき、前記姿勢情報を補間演算により算出する補間部とを有する、演算システムが提供される。
On one side, the object and
An acceleration sensor that is placed on the object and outputs acceleration data,
An angular velocity sensor that is placed on the object and outputs angular velocity data,
An output unit that outputs posture information representing the posture of the object at predetermined intervals, and
Based on the acceleration data and the angular velocity data, the attitude information is calculated by an operation including a matrix operation in a part of the predetermined period, and the other part of the period in the predetermined period. An arithmetic system is provided that includes an interpolation unit that calculates the attitude information by interpolation calculation based on the calculation result of the arithmetic unit.
1つの側面では、本発明によれば、消費電流の増加や処理時間の長時間化を抑制することが可能となる。 On one side, according to the present invention, it is possible to suppress an increase in current consumption and a long processing time.
以下、添付図面を参照しながら各実施例について詳細に説明する。 Hereinafter, each embodiment will be described in detail with reference to the accompanying drawings.
図1は、一実施例による演算システム1のシステム構成図である。 FIG. 1 is a system configuration diagram of an arithmetic system 1 according to an embodiment.
演算システム1は、筐体10(物体の一例)に搭載される。演算システム1は、角速度センサ2と、加速度センサ3と、マイクロコンピュータ4(以下、「マイコン4」と称する)とを含む。
The arithmetic system 1 is mounted on a housing 10 (an example of an object). The arithmetic system 1 includes an
角速度センサ2は、筐体10に配置され、角速度データを出力する。本実施例では、一例として、角速度センサ2は、例えば3軸まわりの角速度を検出する。
The
加速度センサ3は、筐体10に配置され、加速度データを出力する。本実施例では、一例として、加速度センサ3は、例えば3軸まわりの加速度を検出する。尚、加速度センサ3に係る3軸は、角速度センサ2に係る3軸と同じであるとする。
The
マイコン4は、例えば筐体10に配置される。マイコン4は、データバスで接続されたCPU(Central Processing Unit)や、RAM(Random Access Memory)、ROM(Read Only Memory)等を有する。
The
図2は、マイコン4の機能ブロックの一例を示す図である。図2には、マイコン4に接続される角速度センサ2及び加速度センサ3が併せて示される。尚、角速度センサ2及び加速度センサ3は、マイコン4に、I2C(I-squared-C)を介して接続されてよい。
FIG. 2 is a diagram showing an example of a functional block of the
マイコン4は、データ取得部40と、データバッファ部41と、通常演算部42(演算部の一例)と、演算結果記憶部43と、補間部44と、出力部46とを含む。データ取得部40、通常演算部42、補間部44、及び出力部46は、例えば、CPUがROM内の1つ以上のプログラムを実行することで実現できる。データバッファ部41及び演算結果記憶部43は、例えばRAMにより実現できる。尚、データバッファ部41及び/又は演算結果記憶部43は、フラッシュメモリなどで実現されてもよい。
The
データ取得部40は、角速度センサ2から角速度データを取得し、加速度センサ3から加速度データを取得する。本実施例では、一例として、データ取得部40は、同期した所定周期ごとに、各周期の角速度データ及び加速度データを取得する。
The
データ取得部40は、取得した角速度データ及び加速度データをデータバッファ部41に記憶(バッファリング)する。尚、角速度データ及び加速度データは、FIFO(First-in, First-out)形式で所定数の周期分だけ記憶されてもよい。尚、データ取得部40は、角速度データについて積算値(前回周期の値に今回周期の値を積算した値)として記憶してもよい。また、データ取得部40は、加速度データについて平均値(今回周期以前の所定数の周期分の平均値)として記憶してもよい。
The
通常演算部42は、データバッファ部41内の加速度データと角速度データに基づき、筐体10の姿勢を表すオイラー角(姿勢情報の一例)を、クオータニオン演算を含む演算により算出する。算出されるオイラー角は、地上に固定された座標系で、例えばピッチ、ロール、及びヨーで表現されてよい。通常演算部42は、演算結果を演算結果記憶部43に記憶する。演算結果は、FIFO形式で所定数の周期分だけ記憶されてもよい。
Based on the acceleration data and the angular velocity data in the data buffer unit 41, the
クオータニオン演算を含む演算は、角速度データ及び加速度データをクオータニオン変換する変換処理と、クオータニオン変換したデータに対してクオータニオン演算を行う処理と、クオータニオン演算結果をオイラー角表現に変換する変換処理とを含む。 The operation including the quaternion operation includes a conversion process for converting the angular velocity data and the acceleration data into quaternions, a process for performing a quaternion operation on the quaternion-converted data, and a conversion process for converting the result of the quaternion operation into Euler angles representation.
例えば、加速度A = (Ax,Ay,Az)、角速度 G = (Gx,Gy,Gz)、直前(前回)のクオータニオンをQ=(Qw,Qx,Qy,Qz)とすると、通常演算部42は、(Ax,Ay,Az)と(Qw,Qx,Qy,Qz)の外積演算を行うことで、ベクトルBを算出する。具体的には、以下のとおりである。
B = A×Q
ここで、B=(Bx,By,Bz)とする。
次いで、通常演算部42は、ベクトルBをクオータニオン化してベクトルCを算出する。
C = (0,Bx,By,Bz)
次いで、通常演算部42は、ベクトルCとベクトルGの加算を行うことで、ベクトルDを算出する。具体的には、以下のとおりである。
D = (0,Bx+Gx,By+Gy,Bx+Gz)
次いで、通常演算部42は、ベクトルDと直前のクオータニオンQの乗算(クオータニオン演算)を行うことで、ベクトルFを算出する。具体的には、以下のとおりである。
F = D×Q
尚、一般的に、q = s + iu + jv + kwと、q' = s' + iu' + jv' + kw'との間のクオータニオン演算は、次式で表される。
For example, if the acceleration A = (Ax, Ay, Az), the angular velocity G = (Gx, Gy, Gz), and the immediately preceding (previous) quaternion is Q = (Qw, Qx, Qy, Qz), the
B = A × Q
Here, let B = (Bx, By, Bz).
Next, the
C = (0, Bx, By, Bz)
Next, the
D = (0, Bx + Gx, By + Gy, Bx + Gz)
Next, the
F = D × Q
In general, the quota operation between q = s + iu + jv + kw and q'= s'+ iu' + jv'+ kw'is expressed by the following equation.
Epitch = Arcsin (2 * Quat.w * Quat.y - 2 * Quat.x * Quat.z)
Eroll = Arctan{(2 * Quat.y * Quat.z + 2 * Quat.w * Quat.x) / (-Quat.w * Quat.w + Quat.x * Quat.x + Quat.y * Quat.y - Quat.z * Quat.z)}
Eyaw = Arctan{(2 * Quat.x * Quat.y + 2 * Quat.w * Quat.z) / (Quat.w * Quat.w + Quat.x * Quat.x - Quat.y * Quat.y - Quat.z * Quat.z)}
E pitch = Arcsin (2 * Quat.w * Quat.y --2 * Quat.x * Quat.z)
E roll = Arctan {(2 * Quat.y * Quat.z + 2 * Quat.w * Quat.x) / (-Quat.w * Quat.w + Quat.x * Quat.x + Quat.y * Quat .y --Quat.z * Quat.z)}
E yaw = Arctan {(2 * Quat.x * Quat.y + 2 * Quat.w * Quat.z) / (Quat.w * Quat.w + Quat.x * Quat.x --Quat.y * Quat. y --Quat.z * Quat.z)}
補間部44は、通常演算部42の演算結果に基づき、オイラー角を補間演算により算出する。補間演算により算出されるオイラー角は、地上に固定された座標系で、例えばピッチ、ロール、及びヨーで表現されてよい。補間演算は、線形補間や非線形補間(指数、対数、移動平均、重み付け補間等)による方法であってよい。例えば、図3では、現時点t5におけるピッチP5は、現時点より前の5時点(t0〜t4)のピッチの演算結果P1〜P4(通常演算部42の演算結果)を用いて線形補間で得られる近似直線C1上に算出される。ロール及びヨーについても同様に演算することができる。尚、本例では、直近の5時点の演算結果が利用されるが、直近の5時点以外の数の時点の演算結果(通常演算部42の演算結果)が利用されてもよい。例えば、ピッチ、ロール、及びヨーの前回の演算結果をEp1、Er1、Ey1とし、前々回の結果をEp2,Er2,Ey2とすると、補間演算は、次のように実行されてもよい。
Ep = (Ep1-Ep2)/2 + Ep1
Er = (Er1-Er2)/2 + Er1
Ey = (Ey1-Ey2)/2 + Ey1
The
Ep = (Ep1-Ep2) / 2 + Ep1
Er = (Er1-Er2) / 2 + Er1
Ey = (Ey1-Ey2) / 2 + Ey1
補間演算は、通常演算部42による演算よりも演算負荷が有意に低い。通常演算部42による演算は、比較的計算負荷が高いクオータニオン演算を含むためである。このため、クオータニオン演算を行うことなくオイラー角を補間演算により算出する補間部44を備えることで、オイラー角を演算するための演算負荷を低減できる。補間部44は、通常演算部42が通常を行わない周期で、オイラー角を補間演算により算出する。通常演算部42及び補間部44は、いずれか一方がオイラー角を算出することで、全体として所定周期ごとにオイラー角を算出することになる。
The calculation load of the interpolation calculation is significantly lower than that of the calculation by the
本実施例では、一例として、補間部44は、所定周期ごとに所定の切り替え条件が成立したか否かを判定し、所定の切り替え条件が成立した周期では、オイラー角を補間演算により算出する。この場合は、当該周期では、通常演算部42は演算を行わない。
In this embodiment, as an example, the
所定の切り替え条件は、任意であるが、例えば、加速度センサ3の出力及び角速度センサ2の出力が所定レベルよりも小さい場合に満たされてよい。所定レベルは、筐体10が略静止状態であるとき生じる出力のレベルに対応してよい。この場合、オイラー角が大きく変動しない期間、補間部44が演算することになるので、常に通常演算部42が演算を行う場合に比べて、効率的に演算負荷を低減できる。
The predetermined switching condition is arbitrary, but may be satisfied, for example, when the output of the
他の例では、所定の切り替え条件は、加速度センサ3の出力及び角速度センサ2の出力とは無関係に、通常演算部42が連続して演算を行う周期の数が所定数N1に到達した場合に満たされてよい。この場合、所定数N1は、2以上の任意の数であってよい。
In another example, the predetermined switching condition is when the number of cycles in which the
本実施例では、一例として、補間部44は、所定の切り替え条件が成立すると、以後、所定周期ごとに所定の復帰条件が成立したか否かを判定し、所定の復帰条件が成立した周期で、補間演算を停止する。この場合は、当該周期では、通常演算部42が演算を行う。以後、補間部44は、同様に、所定周期ごとに所定の切り替え条件が成立したか否かを判定し、所定の切り替え条件が成立した周期では、オイラー角を補間演算により算出する。
In this embodiment, as an example, when the predetermined switching condition is satisfied, the
所定の復帰条件は、任意であるが、例えば、所定の切り替え条件が加速度センサ3の出力及び角速度センサ2の出力が所定レベルよりも小さい場合に満たされる構成では、所定の復帰条件は、加速度センサ3の出力及び角速度センサ2の出力が所定レベル以上である場合に満たされてよい。
The predetermined return condition is arbitrary, but for example, in a configuration in which the predetermined switching condition is satisfied when the output of the
他の例では、所定の復帰条件は、加速度センサ3の出力及び角速度センサ2の出力とは無関係に、補間部44が連続して補間演算を行う周期の数が所定数N2に到達した場合に満たされてよい。この場合、所定数N2は、2以上の任意の数であってよい。
In another example, the predetermined return condition is when the number of cycles in which the
本実施例では、一例として、所定の切り替え条件は、通常演算部42が演算を行った場合に満たされ、所定の復帰条件は、補間部44が連続して補間演算を行う周期の数が所定数N3に到達した場合に満たされる。即ち、補間部44は、通常演算部42が演算を行う周期ごとに、次の所定数N3の周期で、補間演算を行う。例えば所定数N3=3であるとき、補間部44は、通常演算部42が演算を行う周期ごとに、次の3周期で、補間演算を連続して行う。この場合、4周期のうちの1周期だけが通常演算部42が演算を行う周期となる。以下、所定数N3を、「間引き回数N3」とも称する。
In this embodiment, as an example, the predetermined switching condition is satisfied when the
尚、変形例では、所定の切り替え条件は、複数の条件の組み合わせで実現されてもよい。同様に、所定の復帰条件は、複数の条件の組み合わせで実現されてもよい。 In the modified example, the predetermined switching condition may be realized by a combination of a plurality of conditions. Similarly, the predetermined return condition may be realized by a combination of a plurality of conditions.
このようにして、本実施例では、通常演算部42が演算を行う状態(以下、「通常演算状態」とも称する)では、所定周期ごとに所定の切り替え条件が成立したか否かが判定され、所定の切り替え条件が成立した場合は、通常演算部42が演算を行う状態から、補間部44が補間演算を行う状態へと切り替わる。他方、所定の切り替え条件が成立しない場合は、通常演算部42が演算を行う状態が継続する。また、補間部44が補間演算を行う状態(以下、「補間演算状態」とも称する)では、所定周期ごとに所定の復帰条件が成立したか否かが判定され、所定の復帰条件が成立した場合は、補間部44が補間演算を行う状態から、通常演算部42が演算を行う状態へと切り替わる。他方、所定の復帰条件が成立しない場合は、補間部44が補間演算を行う状態が継続する。
In this way, in the present embodiment, in the state where the
出力部46は、演算システム1の作動中、オイラー角を所定周期ごとに出力する。例えば、出力部46は、筐体10に設けられうるディスプレイ(図示せず)等にオイラー角を出力する。或いは、出力部46は、有線や無線通信網を介して、外部装置にオイラー角を出力してもよい。外部装置は、例えばPC(Personal Computer)やサーバ等であってよい。無線通信網は、Bluetooth(登録商標)やWi−Fi(Wireless Fidelity)に基づくものであってもよいし、携帯電話の無線通信網、インターネット、World Wide Web、WAN(Wide Area Network)等を含んでもよい。
The
次に、図4A以降を参照して、本実施例の効果について説明する。 Next, the effect of this embodiment will be described with reference to FIGS. 4A and after.
図4A乃至図4Cは、センサログを用いたオイラー角出力(ここでは、一例としてロール)のミュレーション結果を示す図であり、横軸は時間である。図4Aは、補間無し(通常演算部42が常に演算を行う構成)によるミュレーション結果を示し、図4B及び図4Cは、補間有りによるミュレーション結果を示す。図4Bは、間引き回数N3=2の場合を示し、図4Cは、間引き回数N3=5の場合を示す。図5は、間引き回数N3とマイコン4の消費電流との関係を示す図であり、横軸は、間引き回数N3を表し、縦軸は、消費電流を表す。消費電流は、間引き回数N3=0(即ち補間無し)のときを"1"として正規化されている。
4A to 4C are diagrams showing the simulation results of Euler angles output (here, roll as an example) using sensor logs, and the horizontal axis is time. FIG. 4A shows the simulation result without interpolation (the configuration in which the
間引き回数N3=2の場合、図4BのQ1部で示すように、オイラー角出力が、図4Aに示す場合に比べて、若干変動するものの、補間演算による影響が略無い。同様に、間引き回数N3=5の場合、図4CのQ2部で示すように、オイラー角出力が、図4Aに示す場合に比べて、若干変動するものの、補間演算による影響が略無い。 When the number of thinnings N3 = 2, as shown in the Q1 part of FIG. 4B, the Euler angles output fluctuates slightly as compared with the case shown in FIG. 4A, but there is almost no influence of the interpolation calculation. Similarly, when the number of thinnings N3 = 5, as shown in the Q2 part of FIG. 4C, the Euler angle output fluctuates slightly as compared with the case shown in FIG. 4A, but there is almost no influence of the interpolation calculation.
また、図5に示すように、間引き回数N3が多くなるほど、消費電流が低減される。例えば、間引き回数N3=3のとき、間引き回数N3=0のときの消費電流に対して3割程度削減できる。 Further, as shown in FIG. 5, as the number of thinnings N3 increases, the current consumption decreases. For example, when the number of thinnings N3 = 3, the current consumption when the number of thinnings N3 = 0 can be reduced by about 30%.
このようにして、本実施例によれば、オイラー角出力の精度を大きく落とすことなく、オイラー角算出のためのマイコン4の消費電流を低減できる。尚、消費電流が低減するのは、演算負荷が低減するためである。尚、演算負荷が低減すると、処理時間も低減される。従って、本実施例によれば、消費電流の増加や処理時間の長時間化を抑制することが可能となる。
In this way, according to this embodiment, it is possible to reduce the current consumption of the
次に、図6を参照して、本実施例の演算システム1の動作例について説明する。 Next, an operation example of the arithmetic system 1 of this embodiment will be described with reference to FIG.
図6は、演算システム1の動作例を示す概略フローチャートである。図6に示す処理は、演算システム1の動作中、所定周期ごとに実行される。 FIG. 6 is a schematic flowchart showing an operation example of the arithmetic system 1. The process shown in FIG. 6 is executed at predetermined intervals during the operation of the arithmetic system 1.
ステップS600では、演算システム1は、今回周期の角速度データ及び加速度データを取得してデータバッファ部41に記憶する。 In step S600, the arithmetic system 1 acquires the angular velocity data and the acceleration data of the current cycle and stores them in the data buffer unit 41.
ステップS601では、演算システム1は、演算状態が通常演算状態であるか否かを判定する。通常演算状態とは、上述したように、通常演算部42が演算を行う状態である。演算状態は、通常演算状態と補間演算状態とを含む。補間演算状態とは、上述したように、補間部44が補間演算を行う状態である。判定結果が"YES"の場合は、ステップS602に進み、それ以外の場合は、ステップS614に進む。
In step S601, the arithmetic system 1 determines whether or not the arithmetic state is a normal arithmetic state. As described above, the normal calculation state is a state in which the
ステップS602では、演算システム1は、所定の切り替え条件が成立したか否かを判定する。判定結果が"YES"の場合は、ステップS610に進み、それ以外の場合は、ステップS604に進む。 In step S602, the arithmetic system 1 determines whether or not a predetermined switching condition is satisfied. If the determination result is "YES", the process proceeds to step S610, and if not, the process proceeds to step S604.
ステップS604では、演算システム1の通常演算部42は、センサ単位換算処理を実行する。センサ単位換算処理は、角速度データ及び加速度データをクオータニオン変換する変換処理を含む。
In step S604, the
ステップS606では、演算システム1の通常演算部42は、ノイズ判定処理を実行する。尚、ノイズが所定レベルより大きい場合は、今回周期のデータが破棄されてもよい。この場合、次回周期でステップS600に戻る。尚、ステップS606は、ステップS604の前に実行されてもよい。
In step S606, the
ステップS608では、演算システム1の通常演算部42は、クオータニオン演算を行う。
In step S608, the
ステップS609では、演算システム1の通常演算部42は、クオータニオン演算結果をオイラー角表現に変換する変換処理を実行する。これにより、今回周期のオイラー角が得られる。
In step S609, the
ステップS610では、演算システム1は、演算状態を補間演算状態に設定する。 In step S610, the calculation system 1 sets the calculation state to the interpolation calculation state.
ステップS612では、演算システム1の補間部44は、今回周期以前の通常演算部42の演算結果に基づき、オイラー角を補間演算により算出する。これにより、今回周期のオイラー角が得られる。
In step S612, the
ステップS614では、演算システム1は、所定の復帰条件が成立したか否かを判定する。判定結果が"YES"の場合は、ステップS616に進み、それ以外の場合は、ステップS612に進む。 In step S614, the arithmetic system 1 determines whether or not the predetermined return condition is satisfied. If the determination result is "YES", the process proceeds to step S616, and if not, the process proceeds to step S612.
ステップS616では、演算システム1は、演算状態を通常演算状態に設定する。この場合、ステップS616が終了すると、ステップS604に進む。 In step S616, the calculation system 1 sets the calculation state to the normal calculation state. In this case, when step S616 is completed, the process proceeds to step S604.
ステップS618では、演算システム1の出力部46は、ステップS608又はステップS612で得たオイラー角を出力する。尚、出力部46は、所定周期ごとに所定の記憶装置にオイラー角を出力(記憶)するだけであってもよい。この場合、記憶装置内のオイラー角データは、後に外部装置等に出力されてもよい。
In step S618, the
以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。 Although each embodiment has been described in detail above, the present invention is not limited to a specific embodiment, and various modifications and changes can be made within the scope of the claims. It is also possible to combine all or a plurality of the components of the above-described embodiment.
例えば、上述した実施例では、補間演算の際に、通常演算部42の演算結果のみ使用されるが、これに限られない。例えば、ある周期での補間演算の際に、当該周期以前の通常演算部42の演算結果と当該周期以前の補間演算の演算結果とが使用されてもよい。
For example, in the above-described embodiment, only the calculation result of the
また、上述した実施例では、筐体10が物体の一例であるが、演算システム1は、任意の物体に搭載できる。例えば、演算システム1は、ユーザが身に付けるもの(例えば靴)や、ユーザ自身に装着されてもよい。
Further, in the above-described embodiment, the
また、上述した実施例では、通常演算部42は、筐体10の姿勢を表すオイラー角を算出する際に、クオータニオン演算(行列演算の一例)を用いているが、他の行列演算を用いてもよい。例えば、通常演算部42は、以下のような回転行列を用いて筐体10の姿勢を表すオイラー角を算出してもよい。
Further, in the above-described embodiment, the
1 演算システム
2 角速度センサ
3 加速度センサ
4 マイクロコンピュータ
10 筐体
40 データ取得部
41 データバッファ部
42 通常演算部
43 演算結果記憶部
44 補間部
46 出力部
1
Claims (8)
前記物体に配置され、加速度データを出力する加速度センサと、
前記物体に配置され、角速度データを出力する角速度センサと、
前記物体の姿勢を表す姿勢情報を所定周期ごとに出力する出力部と、
前記加速度データと前記角速度データに基づき、前記所定周期ごとの一部の周期で、前記姿勢情報を、行列演算を含む演算により算出する演算部と
前記所定周期ごとの他の一部の周期で、前記演算部の演算結果に基づき、前記姿勢情報を補間演算により算出する補間部とを有する、演算システム。 With an object
An acceleration sensor that is placed on the object and outputs acceleration data,
An angular velocity sensor that is placed on the object and outputs angular velocity data,
An output unit that outputs posture information representing the posture of the object at predetermined intervals, and
Based on the acceleration data and the angular velocity data, the attitude information is calculated by an operation including a matrix operation in a part of the predetermined period, and the other part of the period in the predetermined period. A calculation system including an interpolation unit that calculates the attitude information by an interpolation calculation based on the calculation result of the calculation unit.
前記加速度データと前記角速度データに基づき、前記所定周期ごとの一部の周期で、前記物体の姿勢を表す姿勢情報を、行列演算を含む演算により算出する演算部と、
前記所定周期ごとの他の一部の周期で、前記演算部の演算結果に基づき、前記姿勢情報を補間演算により算出する補間部とを含む、演算装置。 A data acquisition unit that acquires acceleration data and angular velocity data at predetermined intervals from an acceleration sensor and an angular velocity sensor placed on an object.
Based on the acceleration data and the angular velocity data, a calculation unit that calculates posture information representing the posture of the object in a part of each predetermined cycle by a calculation including a matrix calculation, and a calculation unit.
An arithmetic unit including an interpolation unit that calculates the posture information by interpolation calculation based on the calculation result of the calculation unit in a part of other cycles for each predetermined cycle.
前記加速度データと前記角速度データに基づき、前記所定周期ごとの一部の周期で、前記物体の姿勢を表す姿勢情報を、行列演算を含む演算により算出し、
前記所定周期ごとの他の一部の周期で、前記演算の演算結果に基づき、前記姿勢情報を補間演算により算出する、
処理をコンピュータに実行させる演算プログラム。 Acceleration data and angular velocity data are acquired at predetermined intervals from the accelerometer and angular velocity sensor placed on the object.
Based on the acceleration data and the angular velocity data, posture information representing the posture of the object is calculated by a calculation including a matrix calculation in a part of the predetermined cycles.
The posture information is calculated by interpolation calculation based on the calculation result of the calculation in some other cycles for each predetermined cycle.
An arithmetic program that causes a computer to perform processing.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018016724A JP2021056001A (en) | 2018-02-01 | 2018-02-01 | Arithmetic system, arithmetic device and arithmetic program |
PCT/JP2019/003006 WO2019151258A1 (en) | 2018-02-01 | 2019-01-29 | Computation system, computation device, and computation program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018016724A JP2021056001A (en) | 2018-02-01 | 2018-02-01 | Arithmetic system, arithmetic device and arithmetic program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021056001A true JP2021056001A (en) | 2021-04-08 |
Family
ID=67478227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018016724A Pending JP2021056001A (en) | 2018-02-01 | 2018-02-01 | Arithmetic system, arithmetic device and arithmetic program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2021056001A (en) |
WO (1) | WO2019151258A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2913122B2 (en) * | 1991-07-16 | 1999-06-28 | 株式会社トキメック | Strap down gyro device |
JP4612675B2 (en) * | 2005-03-25 | 2011-01-12 | パイオニア株式会社 | Current position calculation device, current position calculation method, current position calculation program, and computer-readable recording medium |
KR101196532B1 (en) * | 2010-12-27 | 2012-11-01 | 엘지이노텍 주식회사 | Method for Location Determination of the Wireless device |
-
2018
- 2018-02-01 JP JP2018016724A patent/JP2021056001A/en active Pending
-
2019
- 2019-01-29 WO PCT/JP2019/003006 patent/WO2019151258A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019151258A1 (en) | 2019-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111524166B (en) | Video frame processing method and device | |
US11926052B2 (en) | Robot control method, computer-readable storage medium and biped robot | |
JP2007042244A (en) | Fall-sensing device | |
JP6222096B2 (en) | Electronic device and program | |
CN113283082B (en) | Centroid track generation method, centroid track generation device, computer readable storage medium and robot | |
CN114186632A (en) | Method, device, equipment and storage medium for training key point detection model | |
CN111290732B (en) | Floating-point number multiplication circuit based on posit data format | |
US20220297001A1 (en) | Server, processing system, processing method, and program | |
JP5978687B2 (en) | Moving situation determination program and moving situation determination apparatus | |
JP2021056001A (en) | Arithmetic system, arithmetic device and arithmetic program | |
JP6385380B2 (en) | Arithmetic device, control device and program | |
JP7016101B2 (en) | Information processing system, information processing device, program, and information processing method | |
KR20200101210A (en) | Electronic device and method for determining operating frequency of processor | |
CN109472735B (en) | Accelerator, method and accelerating system for realizing fabric defect detection neural network | |
US20240069497A1 (en) | Electronic device, form determination method, and recording medium | |
US20140085232A1 (en) | Information processing device and display control method | |
JP2015143661A (en) | Structure monitoring device, structure monitoring system and structure monitoring method | |
JP7237756B2 (en) | Electronics and information processing systems | |
CN113927157B (en) | Method and device for controlling output power of laser equipment, computer equipment and medium | |
CN117272593B (en) | Wind tunnel test data analysis processing method | |
CN111915674B (en) | Object posture recognition precision calculation method and device, storage medium and terminal | |
CN110555892B (en) | Multi-angle image generation method and device and electronic equipment | |
US20230315804A1 (en) | Information processing device and program | |
CN109255095B (en) | IMU data integration method and device, computer readable medium and electronic equipment | |
JP2007130714A (en) | Control device, control method and control program |