3Dモデルをいろいろ作ってみたい

3Dモデルをいろいろ作ろうとがんばっています。苦労した点、役に立ちそうな情報を発信していきます。

試作7号機にボディアーマーを装着する

先週制作したロボット骨格試作7号機にボディアーマーを装着してみました。

f:id:ichidaya:20200202180426j:plain

アーマー装着済試作7号機

 以前に試作3号機にアーマーのパーツをとりつけたことがありましたが、このころ制作していたい骨格はかなりがっちりしたデザインで各関節の可動域もせまく、見た目の着ぶくれ感が否めませんでした(蛇足ですが、私が子供のころに夢中になった鉄人28号なんかに比べて最近のロボットってすごくスマートというかきゃしゃになっている気がします。)。

ichidaya.hatenablog.jp

 試作7号機の骨格は3号機と比べるとだいぶスリムになっているので、これならアーマーを装着しても昨今のロボットして違和感ない程度にできるかなとチャレンジしたしだいです。

腕、肩、脚の3dモデルに対して0.2mmのクリアランスをとって各パーツを覆うようにアーマーのパーツをモデリングしました。骨格のパーツをアーマーのパーツに挿し込むかたちです。骨格パーツにつけたでっぱりがひっかかってアーマーの位置が決まります。

f:id:ichidaya:20200202212139j:plain

ボディアーマーの設計

Advnenture 3で出力すると以下のような感じ。挿し込むのにはかなり力がいりますが、その分いったんはまってしまえばずれたりすることはありません。

f:id:ichidaya:20200202205311j:plain

前腕部分骨格とアーマー

脚の部分は以下の写真のようになります。骨格(左)の太腿、膝、脛の3つのパーツに対してそれぞれアーマーを装着しました。

f:id:ichidaya:20200202213337j:plain

脚へのアーマーの装着

 試作3号機のときよりもはるかに自由にポーズをとることができます。

ただ、脚部分の可動域は骨格だけのときとそう変わらないほど確保できているのに比べて肩と肘はまだ干渉する部分があり次の改善ポイントです。

f:id:ichidaya:20200202213707j:plain

アーマー装着状態でのポージング

 

ロボットの骨格を作る 試作7号機

次のロボット骨格の設計を行っている途中でそれまで使っていた白のフィラメントを使い切ってしまいました。買いおきのあった赤いフィラメントに切りかえて3Dプリントをおこなったため、試作7号機は本体赤で一部に白のはいった紅白モデルとなっています。

f:id:ichidaya:20200130221721j:plain

試作7号機

前回、胴体部分にスペースを設けるためがっしりというか、どてっとしたフォルムになってしまいましたが、今回は胸/腹の裏側部分のスペースをある程度残しつつ試作6号機よりはスマートなロボット骨格を目指しています。

f:id:ichidaya:20200130222409j:plain

試作7号機の立ち姿

ボールジョイントのサイズやスリットの大きさなどの微調整は試作のたびに行っていて関節の可動域とポーズの保持力のバランスは少しずつですが改善されています。

骨格の胸部分にはめ込むようなかたちで白色のボディアーマーもモデリングしました。手足につける防御用のアーマーもデザインしているところです。

 

ロボットの骨格をつくる 2020年3Dモデリング初め

年末年始は実家のほうに帰っていたのですが、大晦日も元日もノートPCでロボット骨格の3Dモデルをいじっていました。家に戻ってからその結果を3D出力したのが以下の試作6号機です。

f:id:ichidaya:20200113143618j:plain

試作6号機

ちょっと不格好になってしまいましたが、将来電飾などのギミックを入れたいと考え胸から腹にかけてどれくらいまとまったスペースを確保できるか試してみました。胴体中央にできた空洞は縦横26×17mm, 奥行15mm程度です。単4乾電池をいれるのは無理ですが、ボタン型電池とLEDなら十分はいりそうです。

その他にモデルを変更したのは以下の部分。

①、②:肩と腿のつけ根の冗長な関節パーツを廃止(なくても必要な自由度を確保できると判断)。

③:腰のボールジョイントを回転のみのボールジョイントと軸受け型のジョイントで置き換え。

いずれもポーズをとったときの保持力を高めるのが狙いです。③は胴体内のスペースを広げる効果もあります。

f:id:ichidaya:20200113145301j:plain

試作5号機(左)との比較

 

ロボットの頭部をつくる

ロボットの骨格だけ作ってアーマー部分が無いのはしかたがないにしても、頭部(顔)が無いのはいかにも格好悪い、年内のうちに最初の試作だけでも行おう、ということでロボットの頭部を作ってみました。センスも方法論も無い状態からのスタートなのでとりあえず、ZBrushで丸っぽいかたちを作ってパネルループスを使ってスジ彫りを入れました。個人的にはガンダムに出てくるジムやガンキャノンの顔をイメージしていたのですが道は遠いです。

f:id:ichidaya:20191227220945j:plain

ロボット頭部のモデリング

ボールジョイントのメス型部分を底部につけてAdventure 3で出力し骨格にとりつけました。

f:id:ichidaya:20191227221937j:plain

ロボット骨格に頭部を取り付けた状態

 

ZBrushを使ってスジ彫りを行う

以前に3Dモデルにディテイルを作り込むためFusion 360でスジ彫りを行った経験を報告しました。

ichidaya.hatenablog.jp

 正直このやりかたでいろいろ複雑なパターンを彫っていくのはかなりしんどくて、その後あまりやっていなかったのですがZBrushのパネルループスという機能で比較的簡単にスジ彫りと同じ効果をだせることを発見しました。パネルループスは3Dモデルの面に対して(スジを彫るのではなく)、スジの部分を残して他の面(パネル)を盛り上げることができます。ZBrushはきちんと寸法を決めてのモデリングがとてもやりにくいのでロボット制作には使っていなかったのですが、スジ彫りのような装飾的な要素を付加するにはけっこう便利かなと思ったりしています。

以下、ロボット骨格の脛部分につけるボディアーマーを対象にしてスジ彫りを行ったときの手順を記録しておきます。

1.ボディアーマーの3DモデルをZBrushに読みこむ

Fusion 360 大きさやダボ穴の位置を決めたアーマーのモデルを作成し、OBJ形式でエクスポートします。パネルループスの処理によって厚みがつくことを考慮してモデルは少し薄く作っています。ZBrushでそのファイルをインポートします。

f:id:ichidaya:20191221181900j:plain

Fusion 360で作成した3Dモデル(OBJファイル)

2.Dynamesh化を行う

Fusion 360 で作成されたOBJファイルのメッシュは不均一で大きさがまちまちです。これではパネルループスの機能が使えないのでDynamesh(解像度256)をつかって均一で細かいメッシュに変換します。

f:id:ichidaya:20191221183344j:plain

Dynamesh適用後のメッシュ

3.対象メッシュだけをきりとる

アーマーの裏側(ロボットの骨格と接する面)にまでパネル(厚み)をつけたくないので外側の面のメッシュだけを残して残りを削除します。CTRL-ドラグでマスク、Split Masked Pointsで分離、Deleteで削除といった作業です。

f:id:ichidaya:20191221190123j:plain

処理対象のメッシュだけを残す

4.メッシュをポリグループに分割する

SliecCircle、SliceCurveなどのブラシを使ってメッシュをポリグループに分割します。このポリグループごとにパネル(厚み)が生成されます。

f:id:ichidaya:20191221190926j:plain

ポリグループ分割の例

5.パネルループスを適用する

Geometry>Edge Loop>Panel Loopsを適用します。パラメータがいろいろあり対象のサイズや3Dプリンタの性能によって最適値は変わってきます。今回は以下のように設定しています。

Loops: 3

Thickness: 0.05

Bevel: 50

Bevel Profile: 低い四角形に設定 (スジの断面のかたちを規定する)

Elevation: 100 (100より少し小さくしたほうがいいかも)

 あとはデフォルトのまま。

以下のようにポリグループ分けに従ったパネルのメッシュが生成されます。

f:id:ichidaya:20191221202001j:plain

パネルループス適用結果

6.オリジナルのメッシュとマージする

このようにして作成された3Dメッシュはパネルの部分(厚みが増した分)だけなので元のメッシュとマージして3Dプリント用のデータ(下図の右)を作成します。

f:id:ichidaya:20191221203602j:plain

元メッシュ(左)とパネルループス結果をマージした結果(右)

 

元の3Dモデルとスジ彫り処理後のモデルをAdventure 3で出力してみました。品質にかかわるパラメータ(印刷やヘッド移動の速度)は標準のままです。

f:id:ichidaya:20191221204313j:plain

オリジナル(左)とスジ彫り処理後(右)の出力結果

 

ロボットの骨格を作る 試作5号機をThingiverseに登録

試作4号機からのマイナーチェンジですが5号機を制作しました。右と左の手を追加して手首と親指が可動するようにしています。あとはボディアーマーを装着しやすいようパーツのあちこちにダボ穴をつけました。

f:id:ichidaya:20191214224755j:plain

試作5号機

 

f:id:ichidaya:20191214225206j:plain

試作5号機

このあたりでいったんモデルのファイルを整理してThingiverseに登録しておきました。

https://www.thingiverse.com/thing:4047839

 

 

すきまを埋めて関節の滑らかさを微調整 -BONDICを使ってみた-

ロボット骨格の関節がうまく機能するためには、ジョイントのオスとメスがきつすぎず緩すぎずぴったりとはめ合わさっていることが必要です。きつすぎるとはめ合わせができない(無理に押し込むと壊れる)し、緩いとブラブラでポーズを保持することができません。試行錯誤の結果、ボールジョイントで0.2mm、軸受け型のジョイントで0.4mmのクリアランスをとることでなんとかポーズのとれるロボット骨格を作っています。

ただ、3DプリンタAdventure 3(スペック上の水平解像度は0.2mm)で出力してみると、ベッド上での配置のしかたやサポート材のつけかたによって同じ3Dモデルでも出力される形状が微妙に(でも目で見てはっきりとわかるくらいに)ばらついているのが実態です。現状では3Dプリントしたパーツがきつすぎるときはヤスリで削って調整してロボットを組み上げています。PLA樹脂は硬いので荒めのやすりでがしがしでやりたくなるのですが、削りすぎると元も子もなくなってしまいます。

ここまで書いてやっと本題です。大地さんからBONDICという紫外線で硬化する樹脂を教えてもらったので、これを使って(削りすぎたりして)緩めのジョイントを調整しようというのが今回のお題です。BONDICはUVレジンの強力版といった製品ですが、紫外線をあててわずか4秒ほどで硬化するので層を少しずつ重ねて調整してくといった作業が可能です。

f:id:ichidaya:20191213230557j:plain

購入したBONDIC

試す対象はロボット骨格の5号試作機の左膝の部分(下の写真)です。右膝と同じモデルで出力したのですが、なぜかはめあわせが緩くてすきまができてしまっています。

f:id:ichidaya:20191213230802j:plain

ちょっと緩めの関節に試してみる

膝のパーツをはずし接合面に液状の樹脂を塗っていきます。

f:id:ichidaya:20191213231525j:plain

BONDIC使用例 液状樹脂の塗布

付属の紫外線ランプを照射します。10秒ぐらいは照射して固まりましたが触ったかんじは少しべたつきが残っていました(あとで調べたら照射のときはできるだけ近くから紫外線を当てたほうがいいらしい)。次の日には完全にかわいてつるつるになっていました。

f:id:ichidaya:20191213231838j:plain

BOBDIC使用例 紫外線の照射

その場で膝の部分を組みたて直し動かしてみましたが、摩擦が増してポーズの保持力が向上しているのを確認できました。