Gazebo + ROS で自分だけのロボットをつくる 2.STLファイルをつくる

# はじめに
今回は、手順2.についてです。

0. [完成までの手順](http://qiita.com/RyodoTanaka/items/c3014fd6d0f06d12814f)
1. [好きなCADソフトを使ってSTLファイルを作る](http://qiita.com/RyodoTanaka/items/cad2cf100dd916d56717)   **←今ココ**
2. [好きなソフトを使ってCOLLADAファイルを作る](http://qiita.com/RyodoTanaka/items/b1ebd48da81669db7409)
3. [URDFファイルを作る](http://qiita.com/RyodoTanaka/items/174e82f06b10f9885265)
4. [GazeboとROSの連携](http://qiita.com/RyodoTanaka/items/6fa7e45f98b55376a95b)
5. [ros_controlについて](http://qiita.com/RyodoTanaka/items/e7feb74d0e29a8598f48)
6. [実際にlaunchしてみる](http://qiita.com/RyodoTanaka/items/af834ed767589a02e27a)

# CADソフトについて
本記事では、「STLファイルをつくる」という題名ですが、CADソフトの使い方についてはググればたくさんあるので、私がおすすめのソフトを紹介する程度にとどめておこうと思います。基本的に、学生には何らかの配慮があるので、使うときには是非調べてみてください。

1. [Solid Works](http://www.solidworks.co.jp/)
   言わずと知れたCADソフト。企業でよく使われていると聞きます。ライセンスは３種類あります。
   - Commercial (商用)  
     滅茶高いです。団体で購入している場合がほとんだと思います。
   - Research (研究用)  
     教育機関が研究目的、または 企業との産官学連携プロジェクトで利用する場合に適用されるライセンス([SolidWorksのサイト](http://www.solidworks.co.jp/sw/education/12574_JPN_HTML.htm)より引用) です。
   - **Education (教育用)**  
     教育目的であれば使用できるライセンスです。大学のものづくり系団体に属していて、**活動内容を申請すれば、団体にライセンスを無料配布してくれます**。私の属している団体でも５ライセンスほどいただけました。 団体に属していない学生でも、1年間のライセンスが1万円で個人で入手可能です。このあたりは、各大学の生協などに問い合わせると良いかも知れません。　　


2. [AUTODESK Inventor](http://www.autodesk.co.jp/products/inventor/overview)
   こちらも有名なCADソフト。SolidWorksとよく比べられる印象があります。また、大学などの教育機関でよく使われると聞きます。
   Inventor Professional と Inventor との２種類があり、通常の契約だと、１ヶ月、３ヶ月、１年間の３種類の契約で使用することができます。
   ただし、**学生であれば、３年間、Inventor Proffecional を無料で使用することができます！**
   オンラインでユーザー登録を行い、学校のメールアドレスや学生証のスキャンを提示するなどして認定されれば取得することができます。ちなみに私も持っています。

3. [Design Spark Mechanical](http://www.rs-online.com/designspark/electronics/jpn/page/mechanical)
   あの、[RS Compornents](http://jp.rs-online.com/web/) より提供されている、**完全無料のCAD**。私が初めて触ったCADソフトです。
   通常のCADに出てくる拘束の概念とかがわかっていなくても、直感的に操作でき、とても使いやすいです。
   ただし、**完成した部品の材料や質量の設定ができないため、イナーシャの計算を自動で行うことはしてくれません。**
   ~~そこさえ何とかなっていたら、神ソフトなんだけどなぁ...何とかなりませんかね? RSさん...!~~
   このあたりのお話については、RSさんも「本格的なCADとプレゼン用のソフトの中間をつくる」
   という目標で作られているそうなので、なんとも言えません。
   ただ、すごく手頃に使えるので、ちょっと3Dプリンタで何か作りたいなとか、すぐ手作業で完成するモデルをCADる時に重宝します。

4. [CATIA](http://www.3ds.com/ja/products-services/catia/)
   こちらも有名なソフト。高機能なことと、高額なことで有名です。大学や職場の施設で使用していない限り触る機会がないかも...
   私は触ったことがありません...

という感じが、私の知っているCADソフトです。どれを使っても良いと思いますが、ROSだと、各部品のイナーシャが必要になるので、イナーシャを自動計算してくれるものが良いと思います。

# ROSで使うCADデータ
ROSでは、CADデータからモデルを作る際に、STLデータとCOLLADAデータを使うことができます。

- **STL**   
   形状だけの情報です。ROSでも取り扱うことができますが、**ROSでは、全体の色のみ適用可能で、テクスチャを適用することができません**。
  また、ROSでは、バイナリ型のSTLファイルしか取り扱いできません。
- **COLLADA**  
   **ROSでは形状とテクスチャの情報を適用することのできる形式**です。CADでSTLを出力した後、Blenderなどのソフトを使い、テクスチャを追加します。（このあたりのお話は別の投稿で行います。）  
   ROSで見た目も重視したモデル（Gazeboでカメラを使うときとか重要）を作りたいときに用います。  
   最近ではKML(Keyhole Markup Language)でも使われています。KMLは、Google Mapの立体モデルを表示したりするのに使うようです。

大事なことは、**どちらもm(メートル)単位で出力していないとダメです**。
よくやってしまうミスに、CADではmm(ミリメートル)単位で設計を行い、そのままの単位で出力すると、ROSで表示した時、1000倍の大きさになっているなんてことがあります。
なので、**必ずm(メートル)単位で設計し、出力してください**。大事なことなので、２回言いました。

# 参考
1. http://www.solidworks.co.jp/
2. http://www.autodesk.co.jp/products/inventor/overview
3. http://www.rs-online.com/designspark/electronics/jpn/page/mechanical
4. http://www.3ds.com/ja/products-services/catia/
5. https://developers.google.com/kml/documentation/models?hl=ja