Slide 1

Slide 1 text

ROS再入門 -はじめてのSLAM- KMiura(@k_miura_io)

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • 自動運転のスタートアップの エンジニア @k_miura_io koki.miura05

Slide 3

Slide 3 text

以前のIoT LTにて • Raspberry PiにLidarセンサーを付けてみた • これを使って地図作ってみたい https://bit.ly/3O8uXPA

Slide 4

Slide 4 text

おさらい • ロボットの自律走行において位置情 報を推定するための情報が必要 • その手がかりとして地図を用意する 必要がある →SLAM

Slide 5

Slide 5 text

SLAMって何? • Simultaneous Localization and Mappingの略 • 位置推定と地図作成を同時に行う仕組み • 自動運転やロボットの自律移動において重要になる技術 • Lidarセンサーが主役

Slide 6

Slide 6 text

候補になるパッケージ • Gmapping • Cartographer • Hector Slam

Slide 7

Slide 7 text

候補になるパッケージ • Gmapping → ✗odomデータが必須(Scan Matcher使えば良いけどRaspberry Pi でのセットアップが面倒) • Cartographer → ✗odomなくてもそこそこ精度高そうだけど環境構築が面倒 • Hector Slam → ○odomなくても使えるし環境構築も楽

Slide 8

Slide 8 text

軽く動かしてみた • 適当に調べたサンプルを使って地図作成をしてみたら ひどい出来 • パラメータを調整したりIMUを実装したほうがいいかも しれん…

Slide 9

Slide 9 text

原因 原因1:TF(ROSにおいてロボットの3次元座標を 管理する仕組み)の設定が正しくない 原因2:急激な旋回で位置推定が狂った(急な旋 回や早い移動に弱い)

Slide 10

Slide 10 text

原因1の解消 • ロボットの座標系をLidarセン サーから更新されるように Hector SLAMのサンプルを修正 • Lidarから得られたbase_link情 報から軌跡が残るようになって移 動に合わせて地図が更新される ようになった

Slide 11

Slide 11 text

原因2の解消 • モーターがPWM制御でゆっくり動かせな かったので低電力のモーターに交換 • Switch Scienceのギアードモーターが高 いけど良かった(昨日用意したw)

Slide 12

Slide 12 text

いい感じに改善された

Slide 13

Slide 13 text

結果 • かなり動きがなめらかになって地図もそこそこの精度で軌跡が描画された • 地図も割ときれいに更新された Before After

Slide 14

Slide 14 text

所感 • SLAMは調べているとあまり情報が少なくてまともに動かせるようになるまでに時 間がかかった(ROS自体日本語の知見が圧倒的に少ない) • TFの理解も必要できれいな地図を作成するのは簡単じゃなさそう • IoTLTブースで実機展示中!

Slide 15

Slide 15 text

BLOG https://supernove.hatenadiary.jp/entry/2022/06/19/103456

Slide 16

Slide 16 text

Protopedia https://protopedia.net/prototype/3044

Slide 17

Slide 17 text

END