4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RaspberryPi3とZumoとROSで半永久自走式充放電ロボを作成したい_011日目_SLAM_Karto SLAM_LiDAR(A1M8)

Last updated at Posted at 2018-05-20

#◆ 前回記事
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 をインストールする。

KartoSLAMのパッケージインストール
$ 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ファイルを流用する。

下記コマンドを実行。

launchファイルの編集
$ nano ~/catkin_ws/src/slam_karto/launch/karto_slam.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>

サンプルシミュレーションの実行。

karto_slamの起動
$ 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
rvizの起動
$ rosrun rviz rviz

rviz起動後にmapフレームとtfフレームとscan(laserscan)を足してみる。
が、ダメだ。動かない。

あくまでも個人的な意見だが、いくらなんでも公式チュートリアルの質が悪すぎる。
mapへのtf変換などが必要なのは容易に想像できるが、"手軽に" 使わせることをしっかり想定してフォローされているようにはとても思えない。

140.png

”初心者の肌感覚で” 猛烈に使い勝手が悪い。
時間を使うだけ無駄なものは早々に切り捨てる。

#◆ 本日のまとめ

  • ココに来て初めて動作確認に失敗。
  • とっとと見切りを付けて、次へ行こうと思う。
  • ちなみに、Githubは少なくとも1年以上メンテナンスが止まっている。

#◆ 次回予告
ORB-SLAM2 にチャレンジしようと思う。

#◆ 次回記事
RaspberryPi3とZumoとROSで半永久自走式充放電ロボを作成したい_012日目_SLAM_ORB-SLAM2 へ続く

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?