やること
手持ちの3D素材からURDFファイルを出力するのがゴールです。
URDFはロボットの形状や構造などを格納するためのファイル形式で、ROS環境などではこのよく使われます。
Fusion360からも出力できるようですが、今回はFreeCADからの出力を試します。
そのために、以下の作業を行います。
① フリーのCADソフトであるFreeCADを使えるようにします。
② FreeCADの拡張機能であるfreecad.overcrossを導入します。
③ 制御できるロボットのファイル形式であるURDFを組み立てます。
④ URDFを出力します。
使用環境
- Mac M1 (たぶんウィンドウズでもLinuxでもOK!)
- Freecad v0.21.2
① FreeCADのインストール
FreeCADの公式サイトから、FreeCAD v0.21.2をインストールします。なんとシリコンMacにも対応しています。
ただしFreeCADはバージョンによって動作が不安定な場合があるようです。レベルアップの際にスキルポイントを自由に割り振れるシステムを人生で採用している方は、なるべくLUCKにポイントを割り振っておくとよいかもしれません。
FreeCADを使えるようにする
FreeCADを使うのがまったく初めてという方はここでざっと使い方を覚えましょう。
ありがたいことに入門動画がたくさんあります。
初見なれど超急いでいるという方におすすめ。5分以内の導入動画。シリーズあり!
起動画面から始まるので、とてもわかりやすい!
機能の全般をとてもわかりやすく解説!
動画を制作された方、ほんとうにありがとうございます。
FreeCADの超基本操作はこれらの動画で身につくと思います。
② freecad.overcrossのインストール
FreeCADにはいろいろな機能やモードがありますが、そのモード画面のようなもののことを「ワークベンチ」というようです。
画面の上のプルダウンメニューから、必要なワークベンチに切り替えながら作業を進めていくことになります。
さてそのワークベンチに、URDFを出力することができるROBOT開発用のワークベンチであるfreecad.overcrossを追加していきます。
実は先ほど選んだバージョンのFreeCADv0.21.2はアドオンマネージャーというものに対応しているそうで、このバージョンをインストールできている場合は、freecad.overcrossも手軽に導入することができます。アドオンマネージャーを使って導入手順を進めていきます。
(何らかの事情でより古いバージョンを選んでいる方は、このステップについては自力で情報を集めてクリアしてください。)
freecad.overcrossのgithubにアクセスする
一旦こちらのサイトにアクセスします。
https://github.com/drfenixion/freecad.overcross
今回導入するfreecad.overcrossの本家サイトになります。
freecad.overcrossのアドオンを導入する
基本的にgithubに書かれている通りでではありすが、下記のように進めていきます。

- FreeCAD の上部メニュープルダウンから「設定」を見つける。
- アイコンで「アドオンマネージャー」を選択。
- 「+」記号をクリックして、「リポジトリ」を追加する。
リポジトリ名:https://github.com/drfenixion/freecad.overcross.git
ブランチ名:main - 「OK」をクリックして「設定」ダイアログを閉じる。
- メニューから「ツール/AddonManager」を選択。ワークベンチで「RobotCAD」を検索。

- 「RobotCAD」を押して、インストールボタンを押す。(ReadMeが読めないという警告は無視。)
- FreeCADを再起動する。
トラブルシューティング
自分の場合、FreeCADの再起動後に「アイコンファイルが見つからない」というエラーが出ました。
/Users/ユーザー名/Library/Application Support/FreeCAD/Mod/freecad.cross/resources/icons/robotcad_overcross_joint.svg
このまま起動すると、アイコンがうまく表示されません(x印になります)。
調べてみると、
/Users/ユーザー名/Library/Application Support/FreeCAD/Mod/freecad.overcross/
というディレクトリがありました。パスが微妙にアプリの要求と違うようです。
freecad.overcrossを同じ階層にコピーし、freecad.crossと名称変更したところ、正常に起動できるようになりました。

FreeCADを起動する
FreeCADを再起動しベンチーマークので「RobotCAD-ROS2-OVERCROSS」が選択できるようになっていることを確認します。

※「Robot」というベンチマークもありますが、こちらはKuka製のロボットアームと連携する別物で、FreeCADにデフォルトでインストールされもののようです。
これでアドオンのインストールは完了です。
ROSなしで使う
ROSとの連携機能を使うにはROS自体を使えるようにする必要でありますが、今回はROS連携なしでURDFの出力だけができるようにがんばってみます。
freecad.overcrossのマニュアル
基本的な使い方はこちらにあるはずです。
後編につづく
FreeCADの概要とfreecad.overcrossのインストールまでできましたので、ここでいったん記事をわけます。