#◆ 前回記事
RaspberryPi3とZumoとROSで半永久自走式充放電ロボを作成したい_010日目_SLAM_Hector SLAM_LiDAR(A1M8) の続き
#◆ はじめに
今回は Karto SLAM
を試行してみる。
公式ページを読み込んでいくと金儲けの匂いがプンプン漂うので、試す前から切り捨てたい気持ちでいっぱい。
今回 | 他記事 | アルゴリズム | 特徴 |
---|---|---|---|
008日目 | Gmapping | 一番有名らしい、ROS対応、loop closure有り | |
009日目 | Google Cartographer | 精度が高そう、ROS対応、loop closure有り | |
010日目 | Hector SLAM | 精度がいまいちっぽい、loop closure無し | |
★ | Karto SLAM | 単眼カメラでも動く、ROS対応、Visual-SLAM | |
012日目 | ORB-SLAM2 | 単眼カメラでも動く、Visual-SLAM | |
007日目 | mono-vo | 単眼カメラでも動く、Visual-SLAM | |
013日目 | VINS-Mono | 単眼カメラでも動く、ROS対応、Visual-SLAM、ドローン | |
ー | ー | CNN-SLAM | 単眼カメラでも動く、3D、アイデアのメモ情報しか見当たらなかったため検証対象外とする |
ー | ー | RGBD-SLAM-V2 | RGB-Dカメラ専用、検証対象外とする |
#◆ 参考にさせていただいた記事、謝辞
【公式】
http://wiki.ros.org/karto
http://wiki.ros.org/slam_karto
https://github.com/ros-perception/open_karto
#◆ 作業に着手する前の前提条件
Raspbian Stretch+NCS(Neural Compute Stick)+YoloV2+Webカメラ+ROSによるリアルタイム複数動体検知環境の構築 と 002日目 から 010日目 の記事を参考に、全ての作業を実施済みであり、導入済みパッケージの種類と数の同期がとれていることを前提とする。
#◆ UbuntuPCでのシミュレーション
このフェーズでの検証環境は下記。
■ 検証用PC
OS:Ubuntu 16.04
CPU:第3世代 Intel Core i7-3517U(1.9GHz)
MEM:16GB
ROS kinetic
下記コマンドで Karto SLAM
をインストールする。
$ sudo apt install ros-kinetic-open-karto
$ sudo apt install ros-kinetic-slam-karto
サンプル一式のクローンとビルド。
$ cd ~/catkin_ws/src
$ git clone https://github.com/PINTO0309/slam_karto.git
$ git clone https://github.com/PINTO0309/open_karto.git
$ cd ..
$ catkin_make
サンプルシミュレーションの実行。
ここでいきなりつまづく。
あちこち探したが、サンプルのbagファイルが見つけられない。
とりあえず、Hector SLAMのbagファイルを流用する。
下記コマンドを実行。
$ nano ~/catkin_ws/src/slam_karto/launch/karto_slam.launch
下記のおとり編集。
<launch>
<node pkg="slam_karto" type="slam_karto" name="slam_karto" output="screen">
<!--<remap from="scan" to="base_scan"/>-->
<!--<param name="odom_frame" value="odom_combined"/>-->
<param name="map_update_interval" value="25"/>
<param name="resolution" value="0.025"/>
</node>
</launch>
サンプルシミュレーションの実行。
$ cd ~/catkin_ws
$ roslaunch slam_karto karto_slam.launch
$ rosbag play ~/Downloads/tu-darmstadt-ros-pkg/Team_Hector_MappingBox_RoboCup_2011_Rescue_Arena.bag --clock
$ rosrun rviz rviz
rviz起動後にmapフレームとtfフレームとscan(laserscan)を足してみる。
が、ダメだ。動かない。
あくまでも個人的な意見だが、いくらなんでも公式チュートリアルの質が悪すぎる。
mapへのtf変換などが必要なのは容易に想像できるが、"手軽に" 使わせることをしっかり想定してフォローされているようにはとても思えない。
”初心者の肌感覚で” 猛烈に使い勝手が悪い。
時間を使うだけ無駄なものは早々に切り捨てる。
#◆ 本日のまとめ
- ココに来て初めて動作確認に失敗。
- とっとと見切りを付けて、次へ行こうと思う。
- ちなみに、Githubは少なくとも1年以上メンテナンスが止まっている。
#◆ 次回予告
ORB-SLAM2
にチャレンジしようと思う。
#◆ 次回記事
RaspberryPi3とZumoとROSで半永久自走式充放電ロボを作成したい_012日目_SLAM_ORB-SLAM2 へ続く