Slide 1

Slide 1 text

Turtlebot3に無理やり超音波センサを入 れてみた KMiura(@k_miura_io)

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • 名古屋のゲーム会社 のサーバーエンジニア @k_miura_io koki.miura05

Slide 3

Slide 3 text

ROSを始めた頃 • 大学時代に授業で知ってから触るようになった • 当時は日本語のドキュメントが少なくて挫折してた(先輩の知見がない) • 当時はC++でだましだましコーディング(中身はよく分かってない)

Slide 4

Slide 4 text

あれから5年

Slide 5

Slide 5 text

またROSやりたくなった • 自作PCにUbuntuを突っ込んだときにやってみたくなった • Pythonでもできるし、分かれば結構楽しい(はず) • Raspberry Piでロボットを作ってみたい

Slide 6

Slide 6 text

時代が変わった • Ubuntuしか使えないと思ってたROSがい つの間にかWindowsでも使えるようになっ ていた • Turtlebotも2から3へ • ROS2なるものが出てる… • AWSでROSが動かせるとか…?

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

本を買った • 情報が古いけどサンプルコードの文法は大きく変 わっていることが無いので結構使える • 本で使用しているTurtlebotは2 • Turtlebot3はKinectじゃないので障害物回避系 のコードはまともに動かない←今回の問題

Slide 9

Slide 9 text

ドキュメントを見ると… • センサを追加して拡張できるっぽい • 超音波センサーも追加できるっぽい • 実機はできると書いててもGazeboでの対応は書 いてない…

Slide 10

Slide 10 text

解決してみた

Slide 11

Slide 11 text

自前で用意するのが簡単 • 形にこだわらなければ仮の物体でセンサーを用意しとけば良さそう • Turtlebot3のオブジェクトを定義したXacroファイルにセンサの機能情報と 位置情報を与えればセンサーからトピック飛ばせるっぽい • トピックはROSの標準ドライバーを使っているので実機でつないだときに使える Turtlebot3のトピックとはちょっと違う

Slide 12

Slide 12 text

完成 • すごい付け焼き刃感はあるけどちゃんとセ ンサが機能している • 青い放射線はデバッグ用に可視化してる (可視化しないようにすることもできる)

Slide 13

Slide 13 text

DEMO https://youtu.be/L16cBp8KQP8

Slide 14

Slide 14 text

まとめ • GazeboのTurtlebot3に無理やりセンサーを足せた • 標準で使えるセンサードライバーが豊富なのがいい!(IMU、カメラなど) • ROSのエコシステムについてやっと分かった気がする

Slide 15

Slide 15 text

今回の内容をまとめた記事 https://zenn.dev/kmiura55/articles/ ros-turtlebot3-wander-sonar

Slide 16

Slide 16 text

END