Gazebo/MoveIt のための 3D モデリング(1)はじめに

著者:yamamoto.yosuke

Gazebo/MoveIt のための 3D モデリング(1)はじめに

ROS で Gazebo や MoveIt を利用してシミュレーションや動作計画を行うときに既存のモデルも多くあり重宝しますが,それだけでなくて実際の製品の形状でシミュレートしたいと思う場面もあるかと思います.

モデリング対象物の実物があれば 3D スキャンすることもあるでしょうがメッシュを整える手間があったり,実物がない場合もあります.

そこで本シリーズでは複数回の記事に分けてカタログにある図面から 3D モデリングを行って Gazebo / MoveIt で利用できるようにするにはどのようにするのかの例をご紹介します.

モデリング作業のゴールとなる Gazebo と MoveIt のモデルに必要なデータを次の表にまとめます.

Gazebo モデル MoveIt モデル
モデルファイル URDF or SDF ファイル URDF ファイル
チュートリアル

最終的に必要になる URDF ファイルや SDF ファイルは XML データのファイルですのでテキストエディタなどで編集します.

URDF と SDF に内包するのに利用可能な 3D モデルデータを次の表に示します.

SDF ファイル URDF ファイル
モデルファイル STL ファイル Collada or STL ファイル
表示用メッシュ
  • 色毎の STL メッシュファイル
  • メッシュは開いていても良い
  • Collada (*.dae) モデルファイル
  • STL メッシュファイルも可
干渉用メッシュ
  • 干渉範囲を定義する閉メッシュ STL メッシュファイル
  • 干渉チェックに問題ない範囲であれば表示用メッシュよりも粗くしてデータを軽くすると良い
  • 干渉範囲を定義する閉メッシュ Collada (*.dae) モデルファイルもしくは STL メッシュファイル
  • データ量的に重くなければ表示用メッシュをそのまま使っても良い

それぞれ画面表示用とロボットリンク干渉チェック用のデータは別々に設定されるので必要に応じてメッシュの粗密を調整します.SDF ファイルの表示用メッシュは Collada (*.dae) フォーマットも使えるのですが色情報が表示に反映されないのでここでは色ごとに分けた STL フォーマットファイルを作ります.

全体の作業と記事の流れは次のようになります.

  1. 全体の工程(本記事)
  2. カタログ図面のキャプチャとモデリング空間への配置
  3. 基本的な形状の作成
  4. なめらかなサーフェスの作成(オプション)
  5. MoveIt モデルの作成
  6. Gazebo モデルの作成

今回のモデリング例の対象物は多くの製品でカタログに寸法図が掲載されている洗濯機としました.

意匠権や著作権などの侵害がないように本記事の作例用に予めドラム式洗濯機モデルを作成してそれから寸法図を含む模擬的なカタログの PDF ファイルを作成しました.

  • 注) 読者の皆さんも実在する製品・商品をモデリングして公開する際には意匠権や著作権などの侵害が無いようにしてください.

このカタログの図面を元にレンダリング図も参考にしながらモデリングします.本記事筆者が対象モデルを作りカタログ化して再びモデリングするということで自作自演になってしまいますが,モデリングの流れや方法をお伝えするためと思ってご容赦ください.

本シリーズの記事では 3D モデル作成ソフトウェアは Rhinoceros 7 を用いています.Rhinoceros は CAD ソフトウェアの1つと言えますが,どちらかと言うとサーフェスモデラに近いと思います.各機能自体は読者が使っている CAD と共通点があると思いますのでコマンド等それぞれ置き換えて読んでいただけるとありがたいです.

参考のため比較的安いもしくは無料で入門的にも利用可能な CAD を次の表に示します.

Rhinoceros 7 Fusion 360 FreeCAD
URL https://www.rhino3d.co.jp/ https://www.autodesk.co.jp/products/fusion-360/ https://www.freecadweb.org/
商業利用 158,400円 61,600円/年 無料
教育利用 39,600円 1年間無償 無料
モデリング 非パラメトリック*注 パラメトリック パラメトリック
  • 注) ヒストリーや Grasshopper,Rhino-Python でパラメトリックモデリングも可能

モデリングでは下記リストのような色々なサーフェス要素の作成方法を説明する予定です.

  • 基本的な 3D 形状(平面・円筒・球など)
  • 各種フィレット
    • 接線連続の単純Rフィレット(機械設計様形状)
    • 曲率連続フィレット
    • 曲率変化率連続フィレット
  • 自由形状サーフェス

このうち曲率連続や曲率変化率連続のサーフェスは Gazebo や MoveIt で利用する場合は結局メッシュデータ( STLメッシュ / Collada も内部ではメッシュ )になってしまうので必須ではないですが参考までに紹介します.

本シリーズ,次回はモデリングの準備編です.

トランジスタ技術 2020年9月号 の ROS 入門の記事を執筆しました
Gazebo/MoveIt のための 3D モデリング(2)準備編

著者について

yamamoto.yosuke administrator

コメントを投稿するにはログインしてください。