GPS関連の話題を掲載していきます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
さて、加速度センサーでカーブ走行時の軌跡を見る其の2で、機器はとりあえずできました、次に、VBで、そのデータを元に、軌跡を描かせるわけですが、一からVB組んでるとしんどいので、GPSロガーGT- 730F/Lで何かやってみる其の3で作ったVBを借用する。これを利用すれば、描画の部分だけ組めばどうにかなるので、実際に、描画の部分だけ組み入れ、X軸を少し傾けつつ、Y軸方向に右左と傾けて、軌跡を描画させた、図を以下に示します。
GPSロガーのデータを表示させるのに使った、無意味なところ多いですが、右上のグネグネまがっている奴が、軌跡です。加速度センサーからは0.1秒ごとにデータを取得し、単純に現在ポジションと、前のポジションで、ラインを引いています。尚、ここでは、1ドットあたり1mとしてます。
実際、作ってわかりましたが、結構、重力加速度の影響を受けないように並行に機器をしておかないと、しんどいですね。
もう少し、改良して、実験してみたいと思います。(といってもこれまたいつになることか・・・)
GPSロガーのデータを表示させるのに使った、無意味なところ多いですが、右上のグネグネまがっている奴が、軌跡です。加速度センサーからは0.1秒ごとにデータを取得し、単純に現在ポジションと、前のポジションで、ラインを引いています。尚、ここでは、1ドットあたり1mとしてます。
実際、作ってわかりましたが、結構、重力加速度の影響を受けないように並行に機器をしておかないと、しんどいですね。
もう少し、改良して、実験してみたいと思います。(といってもこれまたいつになることか・・・)
PR
さて、加速度センサーでカーブ走行時の軌跡を見る其の1で概念的なところはできたので、秋月電子でKXM52-1050の加速度センサーを購入して、押入れに入ってたH8 3069Fとブレッドボードを利用して以下の図のように接続してみた。
相変わらず、てきとうだが、まあとりあえずOKとしよう。
KXM52-1050はマイコンと簡単に接続できるようにあらかじめ、めんどくさい処理はやっていてくれるので、助かる。
とりあえず、カーネルはH8 3069F買った時についてたH8 OSを利用する。データの出力は元々、Dサブ9ピンがついている、TxD1ピンとする。出力したデータはNetPC上のVBでキャッチして、VBで軌跡を描く。
Net PCにはマイコンを、USB接続するので、折角なので、USB-シリアル変換モジュールのFT232RLを利用し、こいつから給電してやることにした。これならNetPCのバッテリーはすぐなくなるが・・、別途、バッテリーを用意しなくてもいいわけである。
しかしながら、加速度センサーの値はA/D変換によって、取得するが、USBからの電源供給だと、A/D変換用の給電と基準電圧が不安定になりかねないが、まあよしとしよう。
とりあえず、マイコンに加速度センサーからデータを取得するプログラムを組み込むわけだが、ちょっと注意点をあげれば、3069Fのポート9 データディレクションレジスタは0(入力モード)にしないと、ROMに書き込んで実行させた時にシリアルからデータが出力されません。理由はよくわからないのですが、TxD1ピンはポート9番のピンと共有していることも起因しているのかもしれません。あとはTDR1とSSR1レジスタつかってうまくやってください。
また、開発環境がcygwinつかっているなら、毎回コマンドうつのめんどくさいので、バッチやスクリプトを作っておいたほうが便利です。
というわけで、ハイパーターミナルにx,y,zという感じで実際にデータを出力させてみました。
実際の出力電圧に変換させるには、A/D変換用の給電が5Vととして、3069Fなら、出力値/ 1023 × 5をしてやれば求まります。
なんで1023なのかというと、3069FのA/D変換の分解能が10bitつまり、5Vの給電であれば、アナログ値で5Vを上限とする高低を1023段階表示できるわけです。(なんか文章おかしいですね。すみません。)
尚、KXM52の説明書には5V給電圧で、オフセットが2.5Vとなっており、この2.5Vを境として、Y軸なら、右方向に加速がかかっているのか、左方向に加速がかかっているのか分かるわけです。しかしながら、私の環境では、実際には5Vの給電だとしても、2.5Vから少しばかりオフセットがずれてました。このへんはうまく調節してください。
とりあえず機器のほうはできたので、次はソフトの方をVBで作ってみましょう。
相変わらず、てきとうだが、まあとりあえずOKとしよう。
KXM52-1050はマイコンと簡単に接続できるようにあらかじめ、めんどくさい処理はやっていてくれるので、助かる。
とりあえず、カーネルはH8 3069F買った時についてたH8 OSを利用する。データの出力は元々、Dサブ9ピンがついている、TxD1ピンとする。出力したデータはNetPC上のVBでキャッチして、VBで軌跡を描く。
Net PCにはマイコンを、USB接続するので、折角なので、USB-シリアル変換モジュールのFT232RLを利用し、こいつから給電してやることにした。これならNetPCのバッテリーはすぐなくなるが・・、別途、バッテリーを用意しなくてもいいわけである。
しかしながら、加速度センサーの値はA/D変換によって、取得するが、USBからの電源供給だと、A/D変換用の給電と基準電圧が不安定になりかねないが、まあよしとしよう。
とりあえず、マイコンに加速度センサーからデータを取得するプログラムを組み込むわけだが、ちょっと注意点をあげれば、3069Fのポート9 データディレクションレジスタは0(入力モード)にしないと、ROMに書き込んで実行させた時にシリアルからデータが出力されません。理由はよくわからないのですが、TxD1ピンはポート9番のピンと共有していることも起因しているのかもしれません。あとはTDR1とSSR1レジスタつかってうまくやってください。
また、開発環境がcygwinつかっているなら、毎回コマンドうつのめんどくさいので、バッチやスクリプトを作っておいたほうが便利です。
というわけで、ハイパーターミナルにx,y,zという感じで実際にデータを出力させてみました。
実際の出力電圧に変換させるには、A/D変換用の給電が5Vととして、3069Fなら、出力値/ 1023 × 5をしてやれば求まります。
なんで1023なのかというと、3069FのA/D変換の分解能が10bitつまり、5Vの給電であれば、アナログ値で5Vを上限とする高低を1023段階表示できるわけです。(なんか文章おかしいですね。すみません。)
尚、KXM52の説明書には5V給電圧で、オフセットが2.5Vとなっており、この2.5Vを境として、Y軸なら、右方向に加速がかかっているのか、左方向に加速がかかっているのか分かるわけです。しかしながら、私の環境では、実際には5Vの給電だとしても、2.5Vから少しばかりオフセットがずれてました。このへんはうまく調節してください。
とりあえず機器のほうはできたので、次はソフトの方をVBで作ってみましょう。
GPSを利用するためには、GPS衛星からの電波をキャッチできる、見晴らしのいい遮蔽されていないことが条件です。したがって、通常、トンネルの中では利用できません。しかしながら、カーナビは車速パルスや、ジャイロセンサーといった、付加情報を利用して、トンネルの中でも問題なく走行ポイントを示すことができます。
というわけで、私も、GPSを利用せず、例えば、トンネルの中での車の動きを示せないかと考え、3軸加速度センサー(KXM52-1050)+マイコン(H8 3069F)を利用して実験してみることにしました。といっても、現実的にこれだけではどうすることもできないので、せめてカーブだけでも軌跡を追えないかと試みるものです。
まず、実際に機器やソフトを組む前に、どうすればカーブ時の軌跡を追えるか考えてみました。
単純に考えれば、上図のようにカーブする際、内側から外に対する加速度、前面に減速による加速度が発生します。
ここで、3軸加速度センサーはx,y,z方向の加速度が検出できるようになっており簡単化のため、x軸方向(前),y軸方向(横)のみ利用することとします。ここで注意せねばならないのが重力加速度です。加速度センサーは何も動かさなくても、例えば、チップを平行においていたとしてz軸方向に1Gの重力加速度を検出します。つまり、先ほどの図でいくとカーブ時に車体が傾きますので、y軸において、内側から外に対する加速度とは逆に、車体の傾き(ロール角)分、小さい、重力加速度が外から内に発生します。よって、どの程度影響するかも考慮が必要と思われます。これはx軸についても言えます。
ひとまず、重力加速度の影響は小さいとここでは考えます。この時、軌跡を描くためにはある特定の時間においての距離が必要になります。しかしながら、初速がわからないと、ここではどうすることもできないので、初速はGPSより得たものを利用することとします。
さてここで、トンネルに入るまえの速度を20km/hとすると、約5.5m/sとなります。ここで、もしx軸方法の加速度が0であれば、5.5m/sのままですが、0以外であれば、5.5m/sより早くなったか遅くなったかということがわかります。
しかしながら、仮に、トンネルに入ってから1秒後の加速度センサーのx軸方向が+1m/(s^2)だとしても、端的に6.5m/sで1秒間動いたわけではなく、1秒間で、5.5m/sから6.5m/sに推移したわけですから、トンネルに入ってからの距離を求めるには、(5.5 + 1)*1では物足りないわけです。
とはいいつつ、私の能力ではまともにこれを解決することはできないので、センサーからの測定値を取得する間隔を狭めて、その間隔の速度は一定であるとします。例えば、先ほどの例でいけば、この間隔を0.2秒として、(5.5 + 1)*0.2としてしまうわけです。
尚、y軸方向の初速は0と仮定します。
この考え方でいけば、x軸方向の推移とy軸方向の推移から、方向と距離がある程度推測できるはず・・です。
しかしながら、現実的には緩やかなカーブであったり、坂もあったりと、なかなか上手くいかないものです。
次はいよいよ、実験用機器とソフトを作ってみます。
というわけで、私も、GPSを利用せず、例えば、トンネルの中での車の動きを示せないかと考え、3軸加速度センサー(KXM52-1050)+マイコン(H8 3069F)を利用して実験してみることにしました。といっても、現実的にこれだけではどうすることもできないので、せめてカーブだけでも軌跡を追えないかと試みるものです。
まず、実際に機器やソフトを組む前に、どうすればカーブ時の軌跡を追えるか考えてみました。
単純に考えれば、上図のようにカーブする際、内側から外に対する加速度、前面に減速による加速度が発生します。
ここで、3軸加速度センサーはx,y,z方向の加速度が検出できるようになっており簡単化のため、x軸方向(前),y軸方向(横)のみ利用することとします。ここで注意せねばならないのが重力加速度です。加速度センサーは何も動かさなくても、例えば、チップを平行においていたとしてz軸方向に1Gの重力加速度を検出します。つまり、先ほどの図でいくとカーブ時に車体が傾きますので、y軸において、内側から外に対する加速度とは逆に、車体の傾き(ロール角)分、小さい、重力加速度が外から内に発生します。よって、どの程度影響するかも考慮が必要と思われます。これはx軸についても言えます。
ひとまず、重力加速度の影響は小さいとここでは考えます。この時、軌跡を描くためにはある特定の時間においての距離が必要になります。しかしながら、初速がわからないと、ここではどうすることもできないので、初速はGPSより得たものを利用することとします。
さてここで、トンネルに入るまえの速度を20km/hとすると、約5.5m/sとなります。ここで、もしx軸方法の加速度が0であれば、5.5m/sのままですが、0以外であれば、5.5m/sより早くなったか遅くなったかということがわかります。
しかしながら、仮に、トンネルに入ってから1秒後の加速度センサーのx軸方向が+1m/(s^2)だとしても、端的に6.5m/sで1秒間動いたわけではなく、1秒間で、5.5m/sから6.5m/sに推移したわけですから、トンネルに入ってからの距離を求めるには、(5.5 + 1)*1では物足りないわけです。
とはいいつつ、私の能力ではまともにこれを解決することはできないので、センサーからの測定値を取得する間隔を狭めて、その間隔の速度は一定であるとします。例えば、先ほどの例でいけば、この間隔を0.2秒として、(5.5 + 1)*0.2としてしまうわけです。
尚、y軸方向の初速は0と仮定します。
この考え方でいけば、x軸方向の推移とy軸方向の推移から、方向と距離がある程度推測できるはず・・です。
しかしながら、現実的には緩やかなカーブであったり、坂もあったりと、なかなか上手くいかないものです。
次はいよいよ、実験用機器とソフトを作ってみます。
カレンダー
10 | 2024/11 | 12 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
カテゴリー
フリーエリア
最新コメント
最新記事
(01/29)
(01/06)
(11/23)
(11/21)
(10/10)
(10/10)
(09/12)
(08/04)
(08/03)
(07/31)
最新トラックバック
プロフィール
HN:
Slit
性別:
非公開
ブログ内検索
最古記事
(05/12)
(05/13)
(05/14)
(05/14)
(05/14)
(05/16)
(05/16)
(05/18)
(05/18)
(05/19)
アクセス解析