はじめに
こんにちは、中原です。今回は2024年度CRANE-X7開発研修最後の記事となります。前回は設計したハンドを組み立てて実際に使い、問題点の改善のため再設計をしました。今回は再設計したハンドの組み立てから最終的に完成したピックアンドプレースシステムについてまとめていきます。また、ソフト側で必要なモデル作成やリンク情報をまとめる際に詰まったことがあったのでその点についてもまとめていきます。
改良したハンドの部品作製と組み立て
部品は前回のハンドと同じく3Dプリンタで印刷して作りました。前回は3回に分けて印刷しましたが、設計要件に小さくすることがあったこともあり今回は1回ですべて印刷しました。使うフィラメントの量も前回の3分の1程でできました。これだけで軽量化できている証拠ですね。
前回と同じように組み立てのマニュアルを作りながら組み立てました。
問題点と改良
問題点
- ハンド手先の長さが足りなかった
単純な設計の寸法ミスでした。印刷前にミスがないかをしっかり確認するようにしましょう。(なかなかこういったミスを減らせないのが悩みですね…) - 剛性が低い
分かってはいましたがかなり剛性は低くなりました。ですが、逆にアームが押し付けられても変形するため把持しやすくなったりする利点はありました。 - モータボックスの固定のネジ穴の壁が薄い
軽量のために薄くしすぎました…。ただ3回ほど組み立て直しても耐えているので、負荷がかからない場所ということもあって意外と大丈夫かもしれません。 - 歯車とモータの固定部の皿座繰り忘れ
忘れていました。動きには問題なかったのですが良くないですね。
改良点
- 手先を長くしたものを作り直した
- 予備を用意する
剛性を高くして長持ちさせることは今回重視するものではなく、箱をしっかり把持できることの方が優先だと考えました。そのため設計は軽微な修正にとどめておき予備を用意しておき対処します。1度破損した部位などはフィレットの曲率を上げたりして少し強度を上げるようにはしました。 - その他軽微な修正
組み立て時に気付いたミスや少しだけ寸法を変えるなど軽微な修正をしました。先ほどの挙げた問題点の下2つも修正しました。
良かった点
ちゃんと良かった点も多くありました。
- 軽量
サーボモータとRealsenseの重量も合わせて223gになりました。前回のハンドから100g以上軽くなっています。既存のハンドからも少し軽くなっています。 - 把持しやすくなっている
手先の従動機構と剛性が低いおかげでクッション性を持たせることができ掴みやすくなりました。 - 見た目がちょっとスタイリッシュに
クワガタみたいな見た目になりました。 - 印刷時間が短い
軽量化と小型化のおかげで印刷時間がかなり減りました。部品が壊れてもすぐに新しい部品を用意できます。
モデルの作成、リンク情報資料の作成
ソフト側で使用するためのモデルの作成を行いました。URDFやモデルに関しての詳細はこちらの記事を参考にしてください。
モデルの作成
ROSでrvizやgazeboを使用する際に用いるモデルを作成します。作成方法を簡単に説明すると座標系に気を付けてモデリングするだけです。Fusionのデフォルトでは上方向がY軸になっているのでオプションからZ軸を上方向にするか、右上の立方体を右クリックして”現在のビューを次のように設定”から変更して下さい。
座標系のほかにSTLの出力時の注意があります。そのままSTLにエクスポートすると単位が”mm”になってしまいますが、ROSでの標準的な単位は”m”なのでそこを変更する必要があります。また、データをできるだけ軽くするほうが良いためSTL(バイナリ)に、リファインメントを低にします(カスタムにしてリファインメントオプションでさらに低くすることもできます)。今回は表示用に低に、干渉用をカスタムで最大限小さくしました。
リンク情報
ソフト側の計算で使用するため各リンクの情報をまとめた資料が必要となります。リンク間の寸法や質量、重心、慣性モーメントが必要になります。これらは3DCADで求めることができます。Fusionでもプロパティからそのあたりの情報を見ることができるのでFusionを用いて行います。
ここで1つ問題がありました。他のCADで触ったことのあるSolidworksやInventorなどでは質量を上書きする機能がありますがFusionには無いようでした。3Dプリンタで作成した部品は充填率によって密度が変わるためCAD上で材料を指定して正しい質量にするのはかなり面倒です。そのため実際に測った値で上書きをしたい訳です(質量が正しくないと重心や慣性モーメントが求められない。)。解決方法としては新しく自分で材料を定義することはできるので、そこで密度を変更して任意の質量にします。手順としては以下の通りです。
- 作成したモデルの体積をプロパティで調べる
モデルはいくつかのパーツをまとめて作ります。まとめたコンポーネントの体積を調べる必要があります。今回はハンドを3つに分けています。 - 体積と質量から密度を計算する
質量にはモータなどの既製品の質量も含めます。また、Fusionでは密度の単位に”g/cm³”を使うのでそちらの値を計算しておきます。 - 材料を編集し密度を変更する
コンポーネントを右クリックし物理マテリアルから材料を編集します。編集を押し詳細の材質のほうで密度を変更します。編集を押すとすぐに密度が出てきますが、こちらでは最小単位が”0.001g/mm³”となっており密度の低い部品だとそれ以下の密度になってしまうのでこちらでは編集しません。詳細画面のほうだと単位が”g/cm³”になっているのでより細かい値が設定できます。
最後にOKを押すのを忘れずに。
- 変更した材料を適用する
linkごとに作成したアセンブリ単位でマテリアルを適用させます。パーツごとにそれぞれ材料をしていするよりも、まとめたコンポーネントごとマテリアルを適用させたいです。しかし、今回は既製品でインポートしたモータのデータがあり、それはすでにマテリアルが適用されています。こういった場合はリンクが解除をすることでそのコンポーネント上で適用できるようです。右クリックのメニューからリンク解除を行うかSTEPファイルなどに1度変換すれば適用できるようです。(正直このあたりの仕様を理解しきれていないです。)
- プロパティから質量が正しいかどうか確認する
変更できる密度は0.001 g/cm³が最小のため少しずれが生じてしまうこともあります。今回この点には目をつぶります。 - 重心や慣性モーメントを確認する
後はこれらの値からURDFを編集しますが、そのあたりについては割愛します。
完成したシステム
こちらのクアンさんの記事に完成した全体のシステムの動画が載っているので、ぜひ見てみてください。
こちらは上から見た動画です。上手く把持できているのがわかります。
おわりに
今回は再設計した研修用ハンドの組み立てからシステムの完成までをまとめました。ハンドはソフトの人がもっと壊すと思っていて何度も改良、整備が必要になると思っていましたが、一度壊れただけでした。発表会前に用意していた予備も使うことが無かったので良かったです。
今回で2024年度CRANE-X7開発研修は終わりになります。2024年度の新入社員5人でのチーム開発で、他の4人の得意分野や人柄などが知れたことが一番良かったことです。他にも組み立てマニュアルのような学生時代には作ることのなかった資料の作成を行えたことはいい経験になりました。今後の業務で今回の研修で得たものを活かしていきたいと思います。
CRANE-X7開発研修の連載はこちらです!