Visual Inertial Odometry(VIO)
Visual informationとInatial sensor(加速度センサやホイールエンコーダ)両方の情報を統合して求めるOdometry。[1]によると、両社のcouplingの程度によりloosely-coupledなシステムとtightly-coupledなシステムに分けられる。前者の代表はPTAMとDSO、後者の代表は[4],[5]だそうだ。後者は名前が付いていないことから、あまりメジャーではないように思える。
相互相関関数
もしも2つの信号が同じ周期であれば、合成信号は2つの信号が強め合ってできたものになる。そのため相関関数をグラフ化すると、元の信号と同様の周期で極大・極小が現れる。ただし、観測方法・タイミングの問題等で、それぞれの信号が何の補正もなしにぴったり重なることは少ない。そのため、信号を正規化したり、生値ではなく偏差で表したり、時間方向に調整したりする必要がある。
は複素共役を表す。信号が実装であれば無関係。Tは時間方向のオフセット値。
このオフセットを変えながら相互相関の値を求めることで、どのオフセットが最適か(どれだけの時間方向のずれがあるか)を調べることも可能。
なお、が同じ事象(同一ではないものの、同じ対象から測定した)の場合、自己相関と呼ぶ。
参考文献
http://www.cfme.chiba-u.jp/~haneishi/class/digitalgazo/12Registration.pdf
https://www.rs.noda.tus.ac.jp/skimura/AppMath3/AppMathIII-10.pdf
http://www.slp.k.hosei.ac.jp/~itou/lecture/2011/DigitalData/06_text.pdf
http://www.is.doshisha.ac.jp/isreport2/wp-content/uploads/2015/11/20151120-ckinoshita.pdf
www.e-bridge.jp
Ubuntu16.04にnVidia製グラフィックカードのドライバをインストールする方法
nVidiaのグラフィックカードのドライバをインストール必要があり、[1]の手法を試したのですが上手く行きませんでした。ただし、この時のインストールは新規ではありませんでした。インストールしたノートPCには一度インストールしたことがあり、なぜだか忘れたけど一度アンインストールした状態でした。そこで[2]を参考にして、nvidia-*とcuda*をremoveしたところ、上手くインストールできました。なお私がインストールしたのはnvidia-410です。
Ubuntuのバージョンには依存せずに浸かる手法と思いますので、ご参考になりましたら幸いです。
私の環境
- Ubuntu 16.04.4 LTS
- Linux 4.15.0-46-generic
- グラフィックカード GeForce GTX 1050 Ti
*これは[3]を元にグラフィックカードのIDを調べ、[4]でIDから型番を引きました。
Active Vision
普通カメラは固定であり、そのためオクルージョンへの対処、パノラマ画像作成などが出来ない。そこでカメラを動かす、または複数枚の画像を使うことで、固定カメラ単体では解決できない問題に対処しようというのがActive Visionと呼ばれる分野。
ロボット系国際学会について調べてみた
ランクについては、Conference Ranksというwebサイトを使用して調査を行った。なおランキングの表記については、 サイトで使用している右記を用いる:B5 < ... < B1 < A2 < A1。
調査日:2019年3月1日。ランキングは変動がありえるので、上記は参考程度にご覧ください。また閲覧するサイトにより変動もありえます。そのため、最終的にはご自身で責任をもって調べるようお願いいたします。
英語論文を書く時のお役立ち情報
を目指して、適宜追加していきます。ただ本質的には日本語で書くときも同じだと思います。
- "just", "only"などの単語は、人の研究について触れる際に使わないこと。失礼です。
- 例を上げたい場合は、"XXX such as YYY etc"などとするとスムーズです。
- 〜する必要がある、と言いたい場合、"have to"を使うと必要性が高いことを意味します。大抵は"need"を使うとより穏やかでよいです。
ROSでXX_msgs::YY::ConstPtrをXX_msgs::YYに変換する方法
例えばsensor_msgs::LaserScan::ConstPtrをsensor_msgs::LaserScanに変換したい時があるかと思います。sensor_msgs::LaserScan::ConstPtrの実体は、boost::shared_ptr
boost::shared_ptr<sensor_msgs::LaserScan> laserscan_ptr = boost::const_pointer_cast<sensor_msgs::LaserScan>(laserscan_const_ptr); sensor_msgs::LaserScan laserscan = *laserscan_ptr;
とすれば変換することができます。