ページ 11

レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月17日(金) 16:58
by OGR
現在,北陽電機社製の測域センサ「UTM-30LX」を使用しています.

このセンサから送られてくるデータをリアルタイムで可視化したいです.
UTM-30LXに関するサンプルプログラムは北陽電機のサイトに載っていてそれを用いてデータ取得はできたのですが,その得られたデータを可視化するやり方がわかりません.

開発環境は,Windows XP , Visual Studio 2005(C++)です.
C言語初心者ですので丁寧に説明していただけると有難いです.

宜しくお願いします.

Re: レーザレーダから送られてくるデータをリアルタイムで可視化した

Posted: 2011年6月17日(金) 21:13
by ゆーずぃ
こんにちは。

まずそのセンサから得られるデータはどのようなものですか?
次に、可視化というと色々なものがありますが、どういった形の可視化をご希望でしょうか?(数値を出力するだけ、こんなグラフにしたい等々)

Re: レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月19日(日) 02:59
by OGR
ゆーずぃさん
こんにちは。OGRです。

レーザレーダから得られる生データは距離[mm]と角度[rad]です。
センサ正面を0°として-135°~+135°の計270°の範囲を0.125°の分解能(1scanで1081個ずつ)で出力しています。
現在のデータ取得プログラムでは生データをX, Yに変換して取得しています。
(Xが縦方向でYが横方向です。)

考えている可視化はセンサの位置を原点とし、XY座標上に計測データを点で表示するようなものを考えています。

以上、宜しくお願いします。

Re: レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月19日(日) 15:51
by ゆーずぃ
つまり、1081×1081の平面データが得られて、それを散布図のような形で表示したいということでしょうか?
画像は散布図の例です。
画像

Re: レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月19日(日) 19:13
by たいちう
まず、開発環境について。
VS2005とありますが、そのEditionは?
つまりMFCを利用するかどうかという質問です。
使う予定のライブラリなどもあれば教えて下さい。

次に分解能について、1081という数字が理解できません。
270°を0.125°ずつ区切ると両端を合わせて2161個に分割できますが、
±0.125°という意味でしょうか?
また、距離の精度が書かれていませんが、これも今回は重要ではない?

座標変換についてですが、生データは極座標で表示はXY座標であり、
この変換は既存のデータ取得プログラムで実装済みであると私は理解しましたが、
正しいでしょうか?

最後にOGRさんは、画面上に自由に線を引いたり点を打ったりできますか?
結局のところ何が判らないのかが判りません。
プログラム全体の流れはイメージできていますか?

Re: レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月20日(月) 13:37
by OGR
ゆーずぃさん

はい.散布図のようなものを作りたいと思っています.
いろいろ探していたらOpenGLというものを見つけて下記のサイトでちょっと勉強してみたのですが,実装となったら何から手を付けてよいのかわかりません.

http://www.wakayama-u.ac.jp/~tokoi/open ... t.html#3.2

Re: レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月20日(月) 13:52
by OGR
たいちうさん

MFCはC++をちゃんと理解していないと厳しいらしいので今のところ利用は考えていません.
いろいろ探していたらOpenGLというものを見つけて少し勉強したのですが使えるのかどうかわかりません.

すいません.角度分解能は0.25°でした.
距離の精度は生データで1mmです.

はい,現在のデータ取得プログラムでは極座標(生データ)からXY座標への変換はできています.

描画関数をなにを使えばよいのかわかりません.

Re: レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月20日(月) 15:15
by softya(ソフト屋)
これなんかどうでしょうか?
「Win32 API based GUI Library for C Language」
http://www.rs.el.gunma-u.ac.jp/~yamalab/mlib.html

Re: レーザレーダから送られてくるデータをリアルタイムで可視化したいです.

Posted: 2011年6月20日(月) 20:46
by たいちう
softyaさん紹介のライブラリを使うのも1つの方法ですが、
WinApiを直接使う方法のほうが敷居が低いのではないでしょうか。
簡単なグラフで良いならば十分だと思います。

http://www.kumei.ne.jp/c_lang/sdk/sdk_23.htm
このリンク先から始まる数章で簡単なグラフィックの描き方が説明されています。
これでできそうですか?