【STA23】往復運動でのRTK-IMUデータの観察1<headMot意味理解した>

揺動治具を作って往復運動のデータをとってみると、今までの回転運動では、見えなかった現象が見えるようになりました。

●今回使ったRTKのPositionデータと速度データと角度データ備忘録
https://www.geosense.co.jp/download/product/f9px1/u-blox_ZED-F9P_InterfaceDescription_(UBX-18010854).pdf

採用パラメータ呼び 出力デバイス メッセージ パラメータ名
RTK heading
=MovingBaseのBaseLineの方位角
MovingBaseモード
Rover
UBX-NAV-RELPOSNED relposHeading
data:4byte符号付整数
単位:1e-5  deg範囲:0-360deg
RTK headMot
=Baseアンテナの速度ベクトルの方位角
Base UBX-NAV-PVT headMot
data:4byte符号整数
単位:1e-5 deg
範囲:0-360 deg
RTK  Position
=基準局からBaseアンテナまでの距離をN,E,Dで0.1mm分解能で表現
Base

Roverの場合は、
Baseからの距離NED

UBX-NAV-RELPOSNED relPosN,relPosE,relPosD

data:4byte符号付整数

単位:cm

relPosHPN,relPosHPE,
relPosHPD
data:1Byte 整数
単位:0.1mm

RTK  gSpeed
=Base1アンテナの速度ベクトルの大きさ速度mm/sec
Base UBX-NAV-PVT gSpeed
data:4Byte符号整数
単位:mm/sec
RTK  velN velE
=Baseアンテナの速度ベクトルのN成分とE成分
Base UBX-NAV-PVT velN velE velD
data:4Byte 符号付整数
単位:mm/sec
RTK itow Base Rover UBX-NAV-PVT
UBX-NAV-RELPOSNED
itow
data:4Byte 符号無整数
単位:msec
週単位でUTC時刻を表現

 

●BNO055で使っているパラメータ

採用バラメータ呼び ライブラリー名称
Gyro x,y,z
角速度
bno.getEvent(&angVelocityData, Adafruit_BNO055::VECTOR_GYROSCOPE); gyX[no]=angVelocityData.gyro.x;
gyY[no]=angVelocityData.gyro.y;
gyZ[no]=angVelocityData.gyro.z;
単位:rad/sec
Gyro 積分値 マイコンで計算
台形積分 約50Hz周期
gxsum=gxsum+(gyX[no]+gyX[no_1])/2*(double)(btime[no]-btime[no_1])/1000;//(btime[no]-btime[no_1)/1000;
gysum=gysum+(gyY[no]+gyY[no_1])/2*(double)(btime[no]-btime[no_1])/1000;//
gzsum=gzsum+(gyZ[no]+gyZ[no_1])/2*(double)(btime[no]-btime[no_1])/1000;//
Lax Lay Laz

=リニア加速度 重力加速度成分を除去した運動の加速度
m/sec2

bno.getEvent(&linearAccelData, Adafruit_BNO055::VECTOR_LINEARACCEL); laX[no] = linearAccelData.acceleration.x;
laY[no] = linearAccelData.acceleration.y;
laZ[no] = linearAccelData.acceleration.z;

●上記パラメータをグラフプロット

①Positionデータをプロット横軸 E 東軸  縦軸N 北軸 BaseとRoverでBaseLine51cm対向し往復
揺動リンクを回して 15度から77度間を往復させている
headMotのあるべき姿として接線方向へ速度ベクトルがでるはず。
※位置のばらつきが通常より大きいのは、リンクを回してテーブルが大きく揺れているためとおもわれるので
テーブルを地面に直付けしてから本格的な実験を始める。

②上記往復運動の時系列グラフ
往復の反転ポイント(黒矢印)で、各パラメータの値の特徴が明白に表れていることが分かった。
1)Lax値がピークになるのは、反転ポイントの瞬間が最大加速度となる。
2)反転ポイントでHeadingがピークになる15度と77度
3)gSpeedがゼロにちかずくと反転ポイントとなる
4)velN velEがゼロになると反転ポイントとなる
5)headMotが反転ポイントで方位が大きく変化する285-347degから105-182degに変化

●考察
①往復運動の場合は、反転ポイントがキーポジションとなって、ここで各パラメータの関係のチェックができる
ここで、あるべき値になってない場合は、そのパラメータに何かあるとみることができる。
②headMotの角度とheading角が往復運動の場合ほぼ90度の関係があるが、反転ポイントで明確に比較できる
=>Roverがなくて、heading角が得られない場合でも反転ポイントでBNOのGYRO値とheadMotを比較することでHeading角を計算できる

●以後

庭の机を地面直付けの木製で製作します。回転治具を固定できて、常に基準点となる取り付け方を考えます。
運動の種類によって、キーポジションが変わってくる。スキーの場合Nutralポイントである。
キーポジションに注目することで、MovingBaseが無くてもHeading角を得ることができるアルゴリズムを
開発できる感触がでてきました。

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です