cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

2013-11-01から1ヶ月間の記事一覧

portaudio, fftw, libsndfile

(編集中) 昔作ったHRTFヘッドホンにバグが発見されたようなので、デバッグがてら公開予定。久しぶりにPCオーディオの世界を調べてみると、進歩していないようで意外と進んでいる。32bit-floatオーディオフォーマットが標準で使われるようになるといい…

おまけ:RICOH THETAのJPG画像を平面-球変換してOpenGLで表示する(その6)

RICOH THETA for openFrameworksのテクスチャマッピング版 簡単になりすぎて、勉強にならないから困ります、、、。こちらはGPUの無いレッツノートでも動きます。 githubに上げました。 https://github.com/dotchang/ricohThetaExample testApp.cpp #include …

おまけ:RICOH THETAのJPG画像を平面-球変換してOpenGLで表示する(その5)

RICOH THETA for openFrameworksのソースコード (要:高速なGPU) openFrameworksのexampleのpointCloudExampleに、ファイルを置き換えて使ってください。 exeにjpgをドラッグアンドドロップで起動するか、コマンドプロンプトから一つ目の引数にファイルパス…

おまけ:RICOH THETAのJPG画像を平面-球変換してOpenGLで表示する(その4)

zenithの補正と、ofEasyCamだとRollの回転が入ってしまいちょっと見づらい状況が出来てしまうのを直します。 ・zenith角から天頂方向を計算して、その分逆に回転します。カメラの向きを直すのは面倒そうなので、モデルの方を回します。 ・カメラの上方向ベク…

メモ:OpenCVにjpeg-turboを組み込む

準備するもの jpeg-turboのスタティックライブラリ OpenCVをCMakeする BUILD_JPEGのチェックを外す WITH_JPEGのチェックが入っていることを確認する +Add Entryで2つの項目を足す JPEG_LIBRARY Type: FILEPATH Value: C:/workspace/libjpeg-turbo-1.3.0/rele…

おまけ:RICOH THETAのJPG画像を平面-球変換してOpenGLで表示する(その3)

(編集中) このページで紹介されている加速度情報の取得のC++翻訳版、とりあえずWindowsで動けば良いや編。あとで整理するかも。*1 http://d.hatena.ne.jp/xanxys/20131110/1384094832 #include <fstream> ifstream fin; unsigned char head[10*1000]; union { int </fstream>…

KinectFusionColorBasicsで扱われているデータ型

(編集中) 場当たり的に開発していたら、データ型がなんだか一杯あって混乱してきてしまったので確認しておきます。 m_pVolume The Kinect Fusion Reconstruction Volume, kinectFusionの復元データと大半のメソッド m_pDepthFloatImage the depth input, デ…

liblo: Lightweight OSC implementationのインストール

liblo本家のホームページはこちら。 http://liblo.sourceforge.net/ Downloadでは無く、下のViewGitからDownload Snapshotでソースコードを持ってきます。POSIX環境なら、./configure,sudo make installで簡単にインストールできます。WindowsのMSVC環境では…

OpenSoundControlライブラリのlibloを便利に使えるように、クラスのメンバー関数をコールバック関数に登録できるようにする

(編集中) ネットワークの設計方針 ロボットの遠隔操作の通信系をどのように設計するべきかを考えた場合、トラブルに頑健であることが最優先事項に挙げられます。ネットワークの頑健性は、 接続が切れにくい 接続が切れても復帰できる データが一部欠損しても…

おまけ:RICOH THETAのJPG画像を平面-球変換してOpenGLで表示する(その2)

ズームを引いていくと裏面が見えてしまう問題の解消は、面を張って、視線と対抗しない法線を持つ面を描画しなければ良い、と適当に説明しっぱなしになっていたのが気がかりだったので、ソースコードを乗っけておきます。 メッシュを三角ポリゴンで表示するよ…

大きなデータをネットワーク送信する間、他の処理が停止しないように、Windows用マルチスレッドを使えるようにする準備

マルチスレッド用ライブラリは、沢山ありますがposix環境ならpthreadが一般的です。Windows用にビルドされたpthreadライブラリも配布されていますので、一般的にはそれを使うのが良いと思います。 ただ今は、KinectFusionColorBasicsをマルチスレッド対応に…

Kinectの点群データ圧縮のためにc++で使える圧縮解凍ライブラリgoogle snappyをMSVCでビルドする

3次元点群データは、データサイズが大きくなります。現在のPCであればローカルで扱う分には特に問題ないのですが、ネットワークはギガビットイーサ以降進歩が滞っているので遠隔地に送りたい場合には大きすぎます。また、多少ネットワークが速くなったと…

KinectFusionの出力結果を読み込んで座標系を合わせて表示(オフライン)

KinectFusionColorBasisで得られるPointCloudは、キネクトのローカル座標系で表現されています。これをロボットのカメラの座標系に一致させて表示させていきます。 カメラの座標系の求め方は以前やっていますので、あとはキネクトデータの座標系をロボットの…

補助平面で逆運動学のターゲットを操作

ロボットをマウスで直感的に操作するために、補助平面の導入をしました。その実行サンプルです。遅くなりましたが、ソースコードをGitHubにアップロードしました。 HIRONXGUIControler.hに3行足します。新しく定義したPlanePickerクラスのインスタンスと、マ…