cvl-robot's diary

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

ArUco 3.0.4を試す

OpenCVのChArUcoを試して、とても便利だということがわかりました。 十分速いのですが、ArUco3.0は速さを追求しているとのことなので気になります。 #そもそもOpenCVに搭載されているArUcoのバージョンはいくつなんでしょうか???(あとでちゃんと調べる…

OpenCV3.4のChArUcoのPoseEstimationを試す

detect_board_charucoのビルド ビルド方法は同様に、 cd ~/opencv_contrib/modules/aruco/samples g++ -o detect_board_charuco detect_board_charuco.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv` 引数 > ./detect_board_charuco Pose est…

OpenCV3.4のChArUcoキャリブレーションを試す(その2)カメラキャリブレーション

キャリブレーションを進めていきます。対象は、シングルカメラのintrinsicパラメータの推定です。ここでは、intel EuclidのRGBカメラを使います。 calibrate_camera_charucoのビルド ビルドは、ボードを作る時と同様にsamples以下にあるソースで行います。 …

OpenCV3.4のChArUcoキャリブレーションを試す(その1)マーカーボードの生成

ARマーカーは、2次元カメラの画像から3次元位置姿勢を特定するために便利なツールです。奈良先の加藤先生のARToolkitを筆頭に、もう随分前に完成して進歩がないものだと思っていましたが、知らない間に少し便利になっているようです。 そのうちの一つ、ArU…

openFrameworksをROSのフロントエンドにする(その3)

出来上がったのがこちら。データさえ拾えれば、ROS関係なくて普通のopenFrameworksの開発作業になります。main.cpp #include "ofMain.h" #include "ofApp.h" #include <ros/ros.h> //======================================================================== int mai</ros/ros.h>…

openFrameworksをROSのフロントエンドにする(その2)

この記事では、Intel Euclidの6DOFシナリオの出力をopenFrameworksで受け取る方法を調べていきます。 ROSメッセージの受け取り方は、紹介記事とチュートリアルでなんとなく理解できました。 しかし、6DOFの正体がいまいちわかりませんので、まずこれから調…

openFrameworksをROSのフロントエンドにする(その1)

Intel Euclidという、デプスセンサーRealSenseにUbuntu PCを搭載した小型で優秀なデバイスが机の上に転がっています。発売後すぐに購入してしばらく放おっておいて、そろそろ使おうかと思った矢先に、発売から半年そこらで、intelから開発中止のアナウンスが…

Intel CPUのUbuntuでopenFrameworksをマイクロソフトのVScodeで開発できるように環境を整える

Windowsでプログラムを開発する大きな理由の一つが、VisualStudioのIntelisenseが優秀で、短期記憶の乏しい頭を補佐してくれることにあります。Linuxで開発環境とかいうと直ぐにvim教信者みたいな人が湧いてきて嫌だったということもあります。 しばらく前に…

新社会人にお勧めしたい買っとけアイテム2018年版

1.壁掛け時計 セイコー クロック 掛け時計 電波 アナログ カレンダー 温度 湿度 表示 茶 メタリック KX383B SEIKO出版社/メーカー: セイコークロック(Seiko Clock)発売日: 2014/04/25メディア: ホーム&キッチンこの商品を含むブログを見る社会人になると、…

自分用読むべき論文メモ 2018年1月版

OptiMo: Optimization-Guided Motion Editing for Keyframe Character Animation (CHI 2018) ロボットのリアルタイム操縦にきっと役立つ。 condensed multipleshooting continuation generalized minimal residual method (CMSCGMRES). 大本の論文はどれ? J…

COIN-ORのIpoptをARMコアCPUのLinux環境にインストール

NVIDIAのJetson TX2で、最適化ライブラリのIpoptを使いたいと思います。 (Raspberry Piでも動くといいなぁ。誰か試したら教えてください。)一般的なインストールの流れは、とてもよくまとまった記事があるので、 d.hatena.ne.jp を参考にしてください。最…

スライディングモード制御の勉強のためのリンク集

スライディングモード制御とは、現代制御の1手法。 今のところのあいまいな理解で説明すると、切換超平面と呼ばれる状態上にシステムの動作が乗ったとき、例えば2つのゲインや入力を高速に切り替えて、その境界線上をすべるように安定解へ導くような、とても…

自分用読むべき論文メモ 2017年12月版

www.youtube.com [79] Seok Hwan Jeong, Young June Shin and Kyung-Soo Kim, "Design and Analysis of the Active Dual-Mode Twisting Actuation Mechanism" in IEEE/ASME Transactions on Mechatronics, vol. PP, no. 99, pp. 1-1 (in press, DOI:10.1109/…

自分用読むべき論文メモ 2017年11月版

脳の基本単位回路を発見 | 理化学研究所 脳の基本単位の物理的な構造が分かったとのことなので、機能解析が進めば、NNのようなモデルでの複製も一気に進むのかな? Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin, ``"Why Should I Trust You?": Expla…

Dynamical Movement Primitivesを理解したいけど、よく分からないのでとりあえず資料

優しさ順 studywolf.wordpress.com 離散的なdmpについて、実践的で導入的な解説。ソースコード有り。 www.youtube.com ステファンシャールによる講義。 https://infoscience.epfl.ch/record/185437/files/neco_a_00393.pdf 本山の論文。 www-clmc.usc.edu 謹…

自分用読むべき論文メモ 2017年10月版

A. Rajeswaran, V. Kumar, A. Gupta, J. Schulman, ``Leaning Complex Dexterous Manipulation with Deep Reinforcement Learning and Demonstrations,'' arXiv:1709.10087v1 [cs.LG] 28 Sep 2017. 深層強化学習を使って教示による多指ハンドの学習 C. Funk,…

ロボティクス・コンピュータビジョン・VR/MR・機械学習の新鮮な情報元リンク集 2017年10月版

[適当に編集中] 今のところ順番に意味はありません。後で整理するかも。良いページがあったら教えてもらえると、ありがたいです。 Seamless-Virtual Reality News shiropen.com Mogura VR www.moguravr.com 中国語のニュースサイト www.leiphone.com 中国語…

ルンバのワイヤレス制御用XBeeインターフェースを比較的綺麗に作りたいときのメモ

先日、ルンバのROI(ルンバオープンインターフェース)用USBシリアル変換ケーブルを綺麗に作りました、が、移動ロボットにケーブルがあると何かと不便です。 なので、今回はこれをその辺に転がっていたXbeeを使って無線化したいと思います。 1.購入する部品 …

ルンバの制御用USBシリアルケーブルを綺麗に作りたいときのメモ

一年戦争の時のジオン軍よろしく、移動ロボットを闇雲に量産しようという計画を行っています。そういえば、研究室に転がっている(掃除用)ルンバも動かせるはずだと思いだし、ケーブルを作ってテストしてみました。 1.購入する部品 品目メーカー・型番購入…

FPFH特徴量をbinaryファイルに出力

FastGlobalRegistrationのテストデータを自分で作りたいと思います。 github.com PCLに慣れている人ならば問題ないのでしょうが、上記サイトにはFPFH特徴量を出力するサンプルコードの抜粋しか載っていません。 欠けている部分を他のプログラムから探してき…

openFrameworksのshaderでGLSL4.2のatomic counter bufferを使って画素の数をカウントしてみる(その3)

普段使用している開発環境ではnVidiaのグラフィックカードを使用しているのですが、intel製グラフィックスチップの環境にこのコードを持っていくと動かないことが分かりました。 原因を調査したところ、shader側ではなくopengl側のbufferのbindの仕方が問題…

openFrameworksのshaderでGLSL4.2のatomic counter bufferを使って画素の数をカウントしてみる(その2)

大量のatomic counterを使って色分布のヒストグラムを作りたい、と考えたときに普通の発想であれば配列化してしまえば良い、と考えますが、資料[1]によるとshader内でそのような書き方はできない、とあります。 どういうことなのか、見てみましょう。まず、o…

openFrameworksのshaderでGLSL4.2のatomic counter bufferを使って画素の数をカウントしてみる

GLSLは、OpenGLのシェーダを使うための記述言語です。並列計算はとっても速いので使えると格好良いです。が、GLSLはバージョン毎にすぐ記述方法やデータの受け渡し方が変わったりするので、混乱しがちです。 openFrameworksでは新しいものは面倒みないと割り…

openFrameworksでOpenGLの処理を速くしたいときの確認項目

この方法で、(にわかに信じられませんが)場合によっては10倍ぐらい速くなることがあります。普段、あまりいじることの無いmain.cppの最初で呼び出している ofSetupOpenGL(1024,768,OF_WINDOW); // <-------- setup the GL context を、 ofGLFWWindowSettings…

ofFboにofTextureから大きな画像の一部を斜めに切り出す方法

大きな画像から、任意の位置と角度で、適当な矩形を切り出す方法をメモしておきます。注記:普通にやるならこちらです。 cvl-robot.hateblo.jp 画像サイズ1024×768。描画なしで800fps程度。描画ありだと、verticalSyncに引っ張られて60fps。 普通にOpenCVで…

Lidarを使った2D SLAM実装のためのお勉強

Atsushi SakaiさんのブログMyEnigmaで紹介されているmatlabのコードをいくつかc++(openFrameworks環境)に移植してみました。 myenigma.hatenablog.com とても勉強になり大変に有難いです。移植の目的は、matlabに慣れたかったのと、現実的な実行速度を確認し…

Globally Optimalな点群位置合わせ手法の調査

2010年台ごろに入ってから、3次元点群位置合わせの手法として"Globally Optimal*1"な物の提案が増えてきました。理論はおいて置いて、どのくらい実用になるかをテストするために、実装が公開されているものを中心にリストにまとめておきたいと思います。 1.…

初任給で買うと良いものの研究2017

初任給を貰ったら、まず親に御礼代わりのプレゼントを買うべきです。が、自分で稼いだお金で自分の欲しいものを買うのも良いことです。 とくに、新生活が始まったばかりの人にとっては、今後の生活の潤いのためになるものを揃えておくのが良いでしょう。 と…

Emlid Navio2で動かすardupilotにxwindowを入れる

要らないものもあるかもしれないけれど、とりあえず起動するのでOK。 sudo apt-get update sudo apt-get install lxde sudo apt-get install lightdm sudo apt-get install xinit sudo apt-get install xutils sudo apt-get install xserver-xorg startxで…

掃除機の買い方の研究

掃除機は、多くの人には数年に一度しか買い替える機会がないものかと思います。 急に掃除機が欲しくなるというよりも、そろそろ買い替えたいなー、という気分になったときしばらく時間をかけて検討して買い替えするかと思います。 ということは、時々安くな…