1 of 22

ROS2のプラグインとか

周辺ツールとか作ってみた

robosemi

2020/12/18

小田島拓海

2 of 22

目次

  1. 自己紹介
  2. ros2mbed作った話
  3. jsk visualizationをROS2に移植してる話
  4. おわりに

3 of 22

自己紹介

  • 名前 : 小田島 拓海
  • Twitter: こたっく (@Kotakku_07)
  • 一関工業高等専門学校 5年
  • NHK高専ロボコン(‘17〜’19)

4 of 22

ros2mbed作った話

5 of 22

きっかけ

  • 高専ロボコンでmbedを使ってた
  • (当時は)ロボコン用に書いたライブラリがmbedズブズブだった
  • ロボコン現役引退してからROSを始める時にROS2を選んだ

ROS2でmbedを使いたい!

→ライブラリ(ros2mbed)を作ろう!

6 of 22

ROS2とマイコンを連携させるツール

  • micro-ROS

サポートが強そう、(使い方分からない(Ubuntu初心者))

  • ros2arduino

見慣れたコード、Arduinoのコードとして独立してる→移植できそう

7 of 22

シリアル通信成功

ちゃんと動くUbuntuがインストールできてから2日ぐらいで動いた

8 of 22

PC側の操作

eProsimaが出してるMicro-XRCE-DDS-Agentをターミナルから起動

9 of 22

UDPで苦戦した

mbedのEthernetの使い方を理解する

のに時間がかかった

10 of 22

UDP速い!

Odometryをmbedからpublishして

ros2 topic hzで確認

UDP → 500Hzらしい?(もっといける?)

serial (115200bps)→

15Hz前後で頭打ち

11 of 22

jsk visualizationを移植してる話

12 of 22

きっかけ

rvizに数値とかラベル出したいけどデフォのプラグインに見当たらない

→ jsk visulizationっていうプラグインがあるらしい!

13 of 22

あっ…

14 of 22

Plotter2Dとりあえずコンパイル

  • ヘッダのファイル名
  • 名前空間
  • package.xml
  • CMakelists.txt

とりあえずここらへんを直してコンパイル通した

15 of 22

描画されない

Overlayの描画に必要なキャンパスが取得できてないっぽい

→キャンパス取得できれば動きそう

16 of 22

ファイルにアクセスできない?

rvizのソースをクローンしてきてgrepしたら該当する関数を持ってるクラスを見つけたのでヘッダをincludeしようとしたらエラー

→.hppがrvizの/srcに入っててアクセスできない...

→/includeディレクトリに同じファイル追加したらコンパイル通った()

(Foxyでは改善されているっぽい)

17 of 22

表示された!

無事表示できた!

後は大体作業

ある程度単調な作業なので

自動変換用にコード書いて

8割ほど自動化

18 of 22

現在の進捗

  • Plotter2D
  • PieChart
  • String
  • OverlayText
  • OverlayDiagnostic

  • OverlayImage
  • TwistStamped
  • BoundingBox
  • BoundingBoxArray
  • Footstep
  • HumanSkeltonArray
  • NormalDisplay
  • Pictogram
  • PictogramArray

  • TorusArrayDisplay
  • SegmentArray
  • TFTrajectory
  • TargetVisualizer
  • Diagnostics
  • OverlayMenu

動作確認済み

動作未確認

19 of 22

現在の進捗

ViewController

  • TabletViewController

Tool

  • ScreenshotListener
  • OverlayPickerTool
  • CloseAll
  • OpenAll

Display

  • OverlayCamera
  • PeoplePositionMeasuermentArray
  • RvizScenePublisher
  • QuietInteractiveMarker
  • AmbientSound
  • VideoCapture
  • PolygonArray
  • SimpleOccupancyGridArray

Penel

  • ObjectFitOperatorAction
  • RecordAction
  • TabletControllerPanel
  • PublishTopic
  • CancelAction
  • SelectPointCloudPublishAction
  • RobotCommandInterfaceAction
  • EmptyServiceCallInterfaceAction
  • YesNoButton

未実装

20 of 22

おわりに

21 of 22

公開について

ros2mbed

→readmeとか書いたら公開します

jsk visualization

→岡田先生にメールで相談

22 of 22

公開について

この状態で公開できる?

OSS活動詳しい人

教えてください…

→岡田先生にメールで

 相談