ROSのシミュレーション的なものには,rvizとgazeboの2種類がある.それらを使いこなすため,チュートリアル的に簡単なロボットモデルを作成しました.
「シミュレーション的なもの」と言っているのは,rvizのシミュレーション(ロボットの動作)はただ見た目が動いているだけ(衝突判定や重力などの「シミュレーション」計算は行われていない)からです.
正式には "3D visualization tool for ROS" なので,「シミュレーションっぽいけど,実はシミュレーションじゃない」という意味で「シミュレーション的なもの」と呼んでいます.
二つの使い分けとしては,gazeboでシミュレーションしたロボットの情報(カメラや姿勢に関するのセンサ情報,周辺地図)をrvizにロボットモデルごと表示したり,rvizからGUIでgazebo上のロボットの動きを制御したりするイメージ.
※私も使ってみてようやく違いを理解したので,そういうものなんだな~と思ってくれればいいです.
rviz
rvizとは,ロボとの位置や速度などの情報を3次元で可視化するrosツールの一つ.参考サイトの手順に従って学びました.
詳細は☟のページにて解説.
URDFで記述する際,同じような記述を繰り返し入力する必要がある場合がある.☝のサイトでは練習がてら繰り返したが,実際はめっちゃ手間.
その手間を省略するために,xacro(xml macro)という記法がある.gazeboのurdfは部品ごとにxacroで書いた(参考サイト:xacroを使う1,2)
gazebo
gazeboは物理シミュレータであり,本来rosからは全く独立したもの.一方でrosとの接続性がよく一緒に使われることも多い(公式でも公認されている).
以下の参考サイトの手順を織り交ぜながら学んでいきました.
参考サイト | URL |
---|---|
ROS講座(目次) | https://qiita.com/srs/items/5f44440afea0eb616b4a#%E3%82%B7%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A81gazebo%E5%9F%BA%E7%A4%8E |
gazebo + ros | https://qiita.com/RyodoTanaka/items/174e82f06b10f9885265 |
九工大blog | http://cir-kit.github.io/blog/categories/build-a-robot/ |
クワマイでもできる | https://kuwamai.hatenablog.com/entry/2019/03/31/211826 |
詳細は☟のページにて解説.