前回までのえんせき
意気揚々とLSD-SLAMをrosmakeしようと思ったら、
load_module did not return. Unable to determine dependencies for file listed above.
とか言って怒られ、ふて寝する。
ensekitt.hatenablog.com
問題解決編
エラー文をちゃんと読む。
Exception: quotes not allowed in description string `log10 of threshold on point's variance, in the respective keyframe's scale. `
Descriptionにクォート(”とか')をつかったらダメだよってエラーを吐き出しているみたい。
クォートを直せば良さそうだけど、公式(?)にはこう直したよみたいなのがないか調べに行く。
github.com
あった。
このIssueで👍を5つも貰っているのは
/opt/ros/kinetic/lib/python2.7/dist-packages/dynamic_reconfigure/parameter_generator.py
の、
- raise Exception(r"""quotes not allowed in description string %s""" % description) + description = description.replace(quote, ""); + #raise Exception(r"""quotes not allowed in description string %s""" % description)
いやいやいや、ROSそのもののコード改変してあまつさえException握りつぶしてるやんけ…
ってことで当てにするのをやめて、
LSD-SLAMのcfgに手を加えた。
lsd_slam/lsd_slam_viewer/cfg/LSDSLAMViewerParams.cfg
からは
20行目のscaledDepthVarTHの
from: "log10 of threshold on point's variance, in the respective keyframe's scale. " to: "log10 of threshold on point`s variance, in the respective keyframe`s scale. "
また、21行目、24行目も同じように'を`に変更
lsd_slam/lsd_slam_core/cfg/LSDDebugParams.cfg
からは
11行目、12行目、48行目も同じように'を`に変更
これで再度
~/rosbuild_ws/package_dir rosmake lsd_slam
でうまくいきました。
これ、みんなハマる話じゃないのかな?ってことで
もう少し調べてみたらハマってる人がIssueを立てていたので拙い英語でコメントしておいた。
github.com
LSD-SLAM準備継続編
openFabMapの準備
SURFなどを使って、ちゃんと戻ってきたときにマップを閉じる(元の位置と同じだと認識して全体を修正しなおす?)処理をするための準備
広い範囲で自己位置推定をするために必要らしい。
coffeegkgk.hatenablog.com
こちらをそのまま参考にさせていただいた。
サンプル動画による動作確認
サンプル動画を用意する
vision.in.tum.de
この本家サイトの下のほうにサンプルの動画がある。
Video: 🌏[.bag] 🌏[.png]
の🌏[.bag]をダウンロードしてくる。bagというのはROSに流れたデータをまとめて保存したやつみたい。
mkdir ~/lsdslam_ws cd ~/lsdslam_ws wget http://vmcremers8.informatik.tu-muenchen.de/lsd/LSD_room.bag.zip unzip LSD_room.bag.zip
結構重いし時間がかかる。
実行する
ターミナルを4つ開いておく
# Terminal1 roscore # Terminal2 rosrun lsd_slam_viewer viewer # Terminal3 rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info # Terminal4 rosbag play ~/lsdslam_ws/LSD_room.bag
これでマップができあがるはず!
と思ったら、リソース不足のせいかフレームレートが安定していないみたいでうまくマップが生成されないし自己位置は吹っ飛んでいく。
何よりキャリブレーションとかしてない。
そこで、ホスト側のUbuntu16.04にインストールすることにした。
Day3はこちら
ensekitt.hatenablog.com
Day1はこちら
ensekitt.hatenablog.com