cvl-robot's diary

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

2014-01-01から1年間の記事一覧

SVOをWindows上のVirtualBoxのUbuntuで動かす(その3:カメラキャリブレーション(ピンホール)編)

ROS用camera_calibrationツールは全部入りでROSをインストールしていれば、すでに入っています。新たに自分でインストールしようとすると、不具合が出て不幸になる可能性がありますので、腕に自信が無ければそのまま使うことにしましょう。 [1]を参考に、 ro…

SVOをWindows上のVirtualBoxのUbuntuで動かす(その2:カメラ編)

SVO_ROSでUSBカメラを使えるように設定します。とりあえず使うカメラはその辺に転がっていたLogicoolのHD C270です。 1.WEBCAMをUbuntuで使えるようにする VirtualBox上でUbuntuにカメラを認識させるために、VirtualBoxのメニューのデバイス→ウェブカメラ→Lo…

SVOをWindows上のVirtualBoxのUbuntuで動かす(その1:オフライン編)

SVOがPTAMよりも凄いらしい、のでテストしてみたいと思います。 http://kivantium.hateblo.jp/ も一緒に参考にしてください。 環境は、Windows7 64bit日本語版の上にVirtualBoxを入れてUbuntu12.04LTSのイメージで動かします。動作に影響があるかもしれませ…

パンチルト運台に載ったカメラの外部パラメータキャリブレーション

(編集中、まだできてない) カメラ座標系とパンチルト運台の回転中心とのオフセットを求めてみたいと思います。真面目に幾何学問題を解くのは苦手なので、出来るだけ手軽にできる方法を探します。 パンチルト運台の回転中心は、パンもチルトも仮想的に一点を…

印刷用PDFにRyumin-Light,GothicBBB-Mediumが埋め込まれていない、という問題が起きる時の対処法(Windows編)

PDFを印刷工程に回す場合,PDF中に全てのフォントが埋め込まれていることを求められる場合が多いようです。ところが厄介なことに、メジャーなAdobe Distillerやdvipdfmxなどでいつも通りにPDFを作成すると,しばしば、指定した覚えのないフォントRyumin-Ligh…

2つの位置姿勢の間の変換行列を求める

(編集中) B=MA A:基準の位置姿勢 4x4同次行列 B:目標の位置姿勢 4x4同次行列 M:変換行列 4x4同次行列 3次元位置姿勢Aを3次元位置姿勢Bに変換する行列を求めたい。 Aの逆行列を両辺に右から掛けて、 BA^-1=MI I:単位行列 ofMa…

人とロボットの協調作業

人とロボットの協調 教示 - YouTube 2000年ごろの仕事。タスクモデル。

カプセル衝突判定

高価なロボットを壊さないために、簡単な衝突判定ぐらいはしておきたいところです。学生に聞いたところ、カプセル(球スイープ)衝突判定が簡単で速いということなので真似してこれを作ってみます。ロボットの各ジョイント間を接続する線分に、適当な肉厚の…

OpenCVでステレオ画像処理(その4)

depthからxyz点群に変換する方法を確認しておきます。 画像を変換 void reprojectImageTo3D(const Mat& disparity, Mat& _3dImage, const Mat& Q, bool handleMissingValues=false) ハズレ値を最遠点とするためにはhandleMissingValues=trueとします。 1点を…

openFrameworks v0.8.1のwindows x64版のtessellatorの問題を解決する

自分の方法でもsadmbさんの方法でもx64版のtessellatorが上手く働かなくて、guiなどを正しく使うことができません。tessellatorのライブラリtess2の64ビット化が漏れているためなのでこれを作り直します。 1.libtess2をダウンロードして解凍 https://github.…

OpenFrameworksでKinect v2

sadmbさんがフォーラムに公開している ofxKinect2: addon of Kinect for Windows v2 device with Microsoft SDK を使ってKinect2を動かせるようにしてみましょう。 Win64版OpenFrameworksの簡単ビルド まず、Kinect2にはWindows8の64bit版MSVC環境でないと動…

視覚で回転運動の中心軸を求める

(編集中) [1]Yoshihiro Sato, Jun Takamatsu, Hiroshi Kimura, Katsushi Ikeuchi,, "Recognition of a Mechanical Linkage Based on Occlusion-Robust Object Tracking," , July 2003 の第3節 [2]Jun Takamatsu, "Abstraction of Manipulation Tasks to Au…

ikfastの最新版を使ってみる

IKFAST_VERSION 62で適当なモデルのIKを求めようとすると、思ったように答えがもらえないことがしばしばありました。開発版にはもっと新しいバージョンが上げられているようなので、物は試しで使えるようにしてみましょう。 出杏光魯仙さんのGitHubから、mas…

メモ:ikfastを動かすためにsympyのインストール

(編集中) ikfastを動かすために、sympy-0.7.1をソースからインストール https://github.coをm/sympy/sympy/releases/tag/sympy-0.7.1 sudo apt-get install cython sudp python setup.py install sympyのバージョン確認 python `openrave-config --python-…

メモ:OpenRaveをVirtualBox上のUbuntuにインストール

1.virtualboxをダウンロードhttp://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html?ssSourceSiteId=otnjp 20150223追記VirtualBoxで作成した仮想マシンにLinuxを導入してみよう(1) - Yahoo!知恵袋を参考に拡張機能もインス…

OpenCVでprogressivePNGを保存できるようにする方法

(編集中) opencv grfmt_png.cpp PngEncoder::write関数 png_set_IHDR関数の引数 PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7, PNG_INTERLACE_ADAM7_PASSES, PNG_INTERLACE_LAST irfanviewのImage->information compression interlaced 書き込みOK。 OpenCVで…

OpenCVでprogressiveJPEGを保存できるようにする方法

画像のプログレッシブ形式 画像をネットワーク転送して、全データ到着の前に荒い画像を表示したいことがしばしばあります。その際に使われるのが、プログレッシブ(インターレース)形式の画像です。規格としては、JPEGやGIF、PNGなどが対応しています。プロ…

HMDで3次元モデルを立体視できるようにViewportをサイドバイサイド表示に設定する(その3)

3次元モデルの背景にカメラ画像を重畳して表示してみます。アスペクト比をとりあえず考えずに画面一杯に表示すればよいことにして、画面に出せるかどうかを確認してみます。 先ず背景を黒にして、3次元モデルを表示しておきます。 ofBackground(0,0); 次に、…

HMDで3次元モデルを立体視できるようにViewportをサイドバイサイド表示に設定する(その2)

HMDや使用しているカメラに合わせて画角を調整してみます. 使用するHMDはSONY HMZ-T1。仕様を調べてみると、 アスペクト比 16:9 視野角 約45度 とある. ロボットに使用するカメラは、pointgrey research社のBFLY-PGE-13E4C-CS*1に、KOWA LM5JC1Mを取り付け…

HMDで3次元モデルを立体視できるようにViewportをサイドバイサイド表示に設定する

HMDでは,右目左目それぞれに視点の違う映像を表示することで立体視ができます. ロボットの頭部に搭載された右目左目用の2つで構成されたステレオカメラの映像と,ロボットや環境の3次元モデルを重ねてHMDに表示して,ロボットの一人称視点を体験できるよう…

顕著性マップのサーベイまとめ

(編集中) おそらくオリジナル、か、オリジナルに近いもの。 [1]L. Itti, C. Koch, E. Niebur, ” A Model of Saliency-Based Visual Attention for Rapid Scene Analysis” PAMI, Vol.20, No.11(1998) 入門編:読み物 [2]中澤篤志 “サリエンシーデテクション…

Kinect2の録画ソフトを作る(その3)

デプスをきれいにするために、平均を取る 砂岩でできた20cmぐらいの大きさのレリーフを0.5m離れたところから撮影してみます。 計測対象がこれ。 1フレームのデプスがこれ。 10フレームの平均デプスがこれ。 画角がとても広いことが仇になって、このような物…

Kinect2の録画ソフトを作る(その2)

DepthからXYZ PointCloudへの変換 MapDepthFrameToCameraSpaceを使う ちゃんと探したら、純正の変換関数ありますね。 ICoordinateMapper::MapDepthFrameToCameraSpace だいたい結果は重なりました。 [1]opencv.jp - OpenCV: カメラキャリブレーション(Camer…

Kinect2の録画ソフトを作る(その1)

研究室に2台のキネクト2がやってきました。なので、Cubox-i4の面倒を置いておいてほったらかしにしてこちらを触ってみます。 まず、基本的なColor, Depth, Infraredを録画できるソフトを書くことを目標に開発を進めていきます。インストールの方法など基本…

Solid-Run Cubox-i4にUbuntuをインストール(その3)

あまりにも遅いから、UnixBenchで速さを調べてみます。 cd /usr/local/src $ wget http://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz $ tar xzf UnixBench5.1.3.tgz $ cd UnixBench5.1.3 $ make Index Score 216 うーん、いいのか悪いのかわか…

Solid-Run Cubox-i4にUbuntuをインストール(その2)

(編集中) Ubuntuのapt-get updateでvimが引っかかる問題、なかなか面倒くさいようです。なので、フォーラムの中でUbuntu12.10のイメージを配布されている方がいましたので、それに乗り換えることにしました。(どのように手を入れられているかわかりません…

Solid-Run Cubox-i4にUbuntuをインストール

CuBox-iにUbuntu12.04をインストールする - PetapicoShop 他の方がきれいにまとめてくださっています。Cubox-iへのUbuntuインストールは上記リンクが参考になります。(2014.06.04追記) モータ制御用マイコンボード探し ロボットのモータやセンサーを制御する…

OpenCVでステレオ画像処理(その3)

いろいろ順序が前後していますが、キャリブレーションボードを使ったいわゆる普通のステレオキャリブレーションをOpenCVでやる方法を確認します。OpenCV3.0以降ではcv::Matが標準として扱われるようになり、cvMatやIplImageは使われなくなっていく流れのよう…

OpenCVでステレオ画像処理(その2)

ステレオ対応点探索の前に、左右の画像を平行化します。 カメラキャリブレーションの状況のよって、平行化は3つの方法に分けられます。 1.内部・外部パラメータ両方ある場合 2.内部パラメータのみある場合 3.両方無い場合[1] 特徴点の対応[2][3][4]か…

OpenCVのPhaseCorrelate関数を改造してPOCステレオをやってみる(その2)

(編集メモ) 高速化を検討します。 やり散らかし感のあるままのソースコードですが、興味がほかに移ってしまったので、あげておきます。FFTの順変換を先に全て計算してしまい大量のメモリに持たせています。 Core i7-4770Sでtsukubaの処理におよそ1.5~3.0秒…