cvl-robot's diary

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

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

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で…

掃除機の買い方の研究

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

LAUNCHXL-F28069MとBOOSTXL-DRV8305EVMでSCIを使うとき、問題を避けるためにADCの割り込み優先順位を上げる方法

TiのC2000Piccoloの割り込みは、独自のPIEテーブルとかいうものに基づいたもので、とても分かりにくく使いにくいです。 C2000シリーズではPIEテーブルの順序の変更も容易ではなく(掲示板にはデキナイ、との書き込みも)、さらにその定義も小首を傾げたくな…

SLAM実験に便利そうな移動ロボット用プラットフォーム

筑波大の油田研の移動ロボットの研究成果を元に、ハードウェアやソフトウェアが整備されているそうです。 現在は、東北大の渡辺先生を中心にメンテナンスされているとのことです。 ソフトウェア openspurはskid型の移動ロボットを座標指令で動かしたいときに…

Emlid Navio2で動かすardupilotにもzeroMQを導入する

navio2はEmlid社の開発するRaspberry Piベースのオートパイロット用ボードで、オープンソースのドローンシステムardupilotに対応しています。 emlid.com 詳細はこちら。 Navio2 docsまず、マニュアルに従ってAPMを普通にインストールしてください。 ここでは…

pyzmqとpyOSCでOSC over ZeroMQっぽいもの

普段はc++ばかりなのですが、少しだけpythonで書く必要ができました。 極力、普段と同じようにぬるく書きたいので、使い慣れたZeroMQとOSCを使えるようにしたいと思います。 1.準備 zeromqとoscをpipでインストールします。 > pip install pyzmq > pip insta…

ロボットには出来ないこと

(編集中) 慣用句として、ロボットには出来ない、という言葉が良くつかわれます。とくに伝統工芸や芸能などに多いような気がします。 本当に出来ないのかどうか検証したいので、ロボットには出来ない、という言葉を聞いた時にここにメモしておこうと思いま…

IoT最強プラットフォームを目指して、RaspberryPi3にopenFrameworksをインストールして、ofxZmqをWindow(openGL)無しでも動くようにする(その1)

(編集中) raspberry Piは安くて早くて、arduinoと違ってネットワークに簡単に繋がる利点があります。 また、ネットワークはzeroMQを使えば、高速・安定・簡単に書けることも覚えてしまいました。 さらに、openFrameworksは様々な用途のライブラリaddonをいろ…

モバイルバッテリー、有名メーカーの製品が良いと思い込んでいると時代に置いて行かれるかも?

Ankerの大容量モバイルバッテリーが良い、という記事を読んだ。 www.gurinovation.com まさしくこの機種Anker PowerCore 20100を購入して使っていたので悪くない製品だということは知っているのだが、購入して1年ちょっと経った今、へたってしまってただ大…

AS5047D-EK-ABのピン配置のメモ

USB I&P BOXのソフト上の文字が見切れる問題Zero Position [Set] [Reset] Configuration Rotation Direction Dynamic Angle Compensation ABI-Pulses UVW-Pole Pairs, Hysteresis Incremental Out Error Status, PWM Out[Load Config] [Export Config] [Read…

ネットワークの実時間性を保障してほしいので、DDSを調べる

DDSは、RTPSパケットを使って、Pub-Sub形式でネットワーク上のデータをやり取りする仕組み(分散ネットワーキングミドルウェア)だそうです。 https://ja.wikipedia.org/wiki/Data_Distribution_Service諸悪の根源であるところのCORBAの系統のようなので使い勝…

raspberryPi2/3に(オーディオ用では無い)複数の普通のDAコンバータmcp4725を接続して、4ch以上のアナログ出力を得る方法

以前書いた記事の続編です。 cvl-robot.hateblo.jpmcp4725は、安価で簡単に12ビット分解能のアナログ出力を得ることができる良いICなのですが、I2Cアドレスが0x60,0x61の2つからしか選択できません。 したがって、素直に使うと2chの出力しか得られません。 …