本誌では3Dプリンタによるロボットハードウェア製作の一連の流れやコツを記載している。 具体的な題材として、毎年川崎市で開催されている「かわさきロボット競技大会」の機体製作を取り上げる。
これから3Dプリンタを用いてハードウェアを作る、という開発初心者を対象としている。
本誌ではFDM(Fused Deposition Modeling、熱溶解積層法)方式の3Dプリンタについて説明している。 FDM方式の原理に関して、Wikipediaの「熱溶解積層法」を引用する。
原理
熱可塑性樹脂を高温で溶かし積層させることで立体形状を作成する。 樹脂スプールを造形ヘッド内のプーリーで押出し、その先のヒーターで樹脂を溶解しながら、押出された樹脂を造形テーブルに押し付けるように積層を行う。 原理としては溶かした樹脂を積層するだけの非常にシンプルなものだが、熱可塑性樹脂により収縮率・線膨張率・溶解温度などの諸条件が違ううえ、 型を使用しない方式のため作成する形状により前記条件が大きく変わってくる事もあり、実際にはこの方式で立体物を作成するには多大なノウハウと条件データが必要になる。
かわさきロボット競技大会では、リング上で2台のロボットを戦わせる。 勝敗は審判の判定によって決定される。
勝利条件の概略は下記の通りである。(2015年度の大会規則を参照)
ラウンド内にリングの場外へ相手機体を押し出す
ラウンド内にリング上で相手機体をダウン(走行不可能な状態)させ、10カウントダウン状態をキープする
製作する機体の概略は下記の通りである。
サイズ制限:幅250mm×奥行350mm×高さ700mm(停止時)
重量制限:3500g以内
操縦は、競技大会の実行委員会が規定するプロポを用いること
ロボットには、それぞれ1セット以上の脚機構、アーム機構が搭載されていること
ロボットは走行用の脚部と相手機体への攻撃用のアーム部を有する
脚部は、往復運動を行う部位を接地部として、リンク機構を用いて移動するように設計されていること(※細かい規定があるため、詳細は大会規則参照)
アーム部は、機構のみを用いて物体をアームで移動させることができ、大会が規定する揺動リンク機構を有し、高さ200mm地点を通過すること(※細かい規定があるため、詳細は大会規則参照)
※注記※
勝利条件・機体の制約条件ともに、より細かいルールが規定されている。 詳細はかわさきロボット競技大会公式サイトに記載されているので、機体製作にとりかかる前にじっくり読み込んでほしい。
概念設計は機体の大まかな仕様や機能を決めるフェーズである。 まずは、自分がどんな機体を作成したいのか、「機体のコンセプト」をじっくりと考えよう。 次に、コンセプトを実現するためにはどのような機能が必要か考え、大まかな機構や構成をポンチ絵に起こしてみよう。 最後に、考えた機構や構成を空間上に配置し、大まかなサイズ感を確認してみよう。
ロボット製作に限らず、モノを作るときには最初にコンセプトを決めておくことが大事である。 コンセプトを常に頭の片隅に置きながら具体的な設計を進めることで、作りたかったモノと最終的な成果物のズレを少なくできる。
次のようなステップを踏むとコンセプトを決めやすいだろう。
自分がかわさきロボット大会に求めるものは何だろうか?(目的/ゴールイメージ)
目的を達成するために、必要な機能・構成は何だろうか?(ゴールへの到達手段)
上記機能・構成を実現するためにはどうすればよいだろうか?(到達手段の実現方針)
2014年度のかわさきロボット競技大会では、筆者は下記のようにコンセプトを決めた。
かわさきロボットで今までに無い機体を作って注目を集めたい(目的/ゴールイメージ)
3Dプリンタでほぼ全ての部品を作る(見た目にわかりやすい)(ゴールへの到達手段)
3Dプリンタで作る部品は強度が無いため、極力シンプルな機構で構成する(到達手段の実現方針)
コンセプトが決まったらポンチ絵を描いていこう。 この工程では細かい部分は考えず、全体の大きな構成をざっくりと見通したい。 この時、上記コンセプトの「3. 到達手段の実現方針」を意識することが大事である。 ポンチ絵を描くという初期段階で、取りたい構成の最大の課題と解決手段を考えておくと後で失敗しにくい。
尚、ポンチ絵を描くツールはなんでもよい。 ペンと紙を用いてもよいし、パワーポイントのオートシェイプなどを持ちいるのもよいだろう。
また、正面図、側面図、上面図、斜視図、と色々な方向から描いてみることをお勧めする。 様々な方向から取りたい構成を考えることで、構成の課題を早期に見つけることができる。 課題が早い段階が見つかれば、修正も容易であるためのちのち楽になる。
フレーム構造:底部フレームに側面フレームを取り付け、コの字型にすることで強度アップする。
脚部:4か所の脚部は全て共通化し、メンテナンス性を向上させる。取り付けは底部フレームとする。
アーム:相手機体と直接接触が多い個所なので、メンテナンス性(交換のしやすさ)が求められる。簡単に組み立て、分解ができるよう、側面フレームだけに取り付ける。
電装系:電装系は底部フレーム上に取り付ける。また、相手機体のアームが電装系に当たってしまうと動かなくなってしまうリスクがあるため、一旦組み立ててしまえば外からはアクセスできなようにする。
リンク機構:シンプルなスライダリンク機構を採用し、低強度な部品でも問題が出ないようにする
足厚み:足先は走行時の衝撃が加わるため、なるべく厚くし強度アップを狙う
足枚数:一つの脚部には足を3枚用いる。足は位相を120°ずつずらして並列に配置することで、常に足先を地面に接地させる。これによりロボットの上下振動が抑えられ、走破性が良化する
振動を抑える脚部の設計方法は、かわさきロボット競技大会の公式ホームページ内のかわロボ道場で詳しく解説されている。
リンク機構:スライダリンク機構を利用する。シンプルな構成であるため、強度の弱い材料で作っても問題が出にくいと考えた。
厚み:アームは相手機体と当接する部分なので、なるべく厚くし強度アップを狙う。
見た目:アームは機体の中でも最も目立つ部分。詳細設計時にはデザインにこだわる。
ポンチ絵が描けたら、レイアウト設計をしてみよう。 この工程では、考えた構成のサイズ感を確認する。 確認の流れは、例えば下記の通り(使用ツールは3D-CADソフトを想定)。
大会の規格サイズを確認する:2015年度のかわさきロボット競技大会では、幅250mm×奥行350mm×高さ700mm(停止時)
ポンチ絵で描いた構成をブロックで表現:詳細が決まっていない段階なので予想値を入れておく。定規・ノギス等、大きさが分かるものを手元に用意して寸法を決めていくと進めやすいだろう。
規格サイズ内に上記で作成したブロックを配置:例えば、幅250mm×奥行350mmの板状モデルを準備しておき、その上に構成ブロックを置いていくと配置しやすい。
図2.4に筆者の実施例 斜視図を示す。 ブロックを置くところまでできれば、全体のサイズ感を把握することができる。 ただし、画面上と実物のサイズ感にはズレがあることが多々あるため、もし時間に余裕があるのであれば段ボールなどで同じ大きさの箱を作って並べてみるとより良いだろう。因みに、筆者はCreo Elements(個人利用の範囲内なら無料)という3D-CADソフトを用いて、レイアウト設計を行った。
基本設計は概念設計で考えた機構や構成をより具体化し、設計パラメータを決めるフェーズである。 まずは、概念設計で考えた構成の課題を抽出しよう。 次に、抽出した課題を解決するためのアクションアイテムを決めよう。 アクションアイテムをこなしたら、次の詳細設計へ繋げることができるよう結果を整理しておこう。
筆者が考えた構成の課題とアクションアイテムを下記に示す。 主に、3Dプリンタでの部品作成とアーム周りに着目した。
アームの設計パラメータ:相手機体を持ち上げることが可能で、高さ200mm地点を通過できるようにアームの設計パラメータ(アーム位置、アーム部品長、リンク比、モータ個数、減速比、等)を計算から決定する
アーム部品の強度:3Dプリンタによる部品で相手機体を持ち上げた時、破損しないように強度計算を行い、部品厚みを決定する
積層方向の割れ防止構成:3Dプリンタ積層方向に高負荷がかかると割れが発生しやすい。積層方向に力がかかる部品に関しては強度アップ構成を考える。
モータ出力部の削れ防止構成:モータ出力部と締結する3Dプリンタ部品が削れ、駆動伝達できなくなるリスクがある。信頼性の高い締結構成を考える。
大型部品の作成方法:3Dプリンタで作成できる部品サイズは、プリンタのテーブルサイズで決まる。大型部品の分割方法と締結方法を考える。
アームに限らず、設計パラメータを計算で決めるためには目標値が必要となる。 目標が無ければ計算結果をどのように扱ってよいか分からないため、暫定でもよいので初期から目標値を設定して進めよう。 もちろん計算に基づいて機体を作った後に、目標値が適切では無かったことが判明することもあるだろうが、その都度修正していけばよい。 計算結果と実際にモノを作り動かした結果との比較を行うことで、次回の設計へフィードバックすることもできるようになるだろう。
尚、筆者は下記のような目標値設定をした。
アームの射程距離:作用点位置を機体前面から250mmと設定した
相手機体持ち上げ高さ:大会規格の200mm地点を通過するように設定した
相手機体持ち上げ力:3500g(機体重量の大会規格)を持ち上げることを目標とした
上記に挙げた項目は相互に影響しあうため、独立して一つ一つを計算することが難しい。 例えば、アームの射程距離を短くすれば必要なモータ駆動力は少なくてよいが、アーム作用点の通過高さは低くなる。 一方で、アームの射程距離を長くすると必要なモータ駆動力も多く必要となり、アーム作用点の通過高さは高くなる。 そこで、筆者はアームリンク機構の位置、クランク長さ、モータ個数、減速比を変数として上記項目を一度に確認できるツールをExcelで作成した。このツールを用いてアームの設計パラメータを決定した。
図3.1を用いて、計算モデルを説明する。
アームに駆動を与えるポイントを原点Oに設定
第1クランク部品の長さをL1とし、第2クランク部品の長さをL2と設定
第1クランク部品と第2クランク部品の接続ポイントを中間自由回転軸aに設定
第2クランク部品に設けた長穴と摺動するポイントを中間固定軸jに設定
作用点をcと設定し、作用力を計算から算出
駆動力の伝達力損失は無視
計算結果は下記の通り。詳細は図3.2を参照。
アームの射程距離:作用点位置は機体前面から250mm
相手機体持ち上げ高さ:大会規格の200mm地点を通過
相手機体持ち上げ力:作用点で4208gfの力が出る(3500gf以上)
上記結果となったときの設計パラメータは図3.3の通り。
かわさきロボット競技大会では相手機体とぶつかるアーム部に最も強い力が加わる。 今回、筆者は下記のような目標値設定をした。
アーム強度:作用点に3500g(機体重量の大会規格)が加わったときに破壊しないこと
図3.4を用いて計算モデルを説明する。尚、部品名称は図3.1と同様。
中間自由回転軸aを固定端と設定
作用点に3500gfが加わるように設定
アームの作用点に力が加わったときの第2クランク部品が中間固定軸から受ける力を計算
片持ち梁モデル計算からアームに加わる曲げ応力を計算
安全率は1.5、 材料強度はABSの30%と想定(3Dプリンタ樹脂充填率)して許容応力を計算
計算結果は下記の通り。詳細は図3.5を参照。
アームに加わる曲げ応力最大値:約500gf/mm2 (許容曲げ応力以下:約515gf/mm2 以下)
上記結果となったときの設計パラメータは図3.6の通りで、部品幅を32mm以上、厚みを23mm以上とすればよい。
計算と実際の現象には大概ズレが発生する。 特に3Dプリンタで作成する部品は、中空構造になる(筆者の所有する3Dプリンタでは自動的にハニカム形状の中空構造にされる)ため、中実の部品と比較して強度が弱くなる。尚、本強度計算においては、強度が弱くなっていることを表現するために「材料強度をABSの30%と想定」しているがこの値には明確な根拠は無い。
そのため、本来であれば計算と実際の現象の同定を取るところまで行うほうがよい。 計算と実物の現象の同定を取ることができれば、破壊が発生しないギリギリのラインで設計を行うことができるため、機体の小型・軽量化を行うことが可能となる。また、他の部分を設計する場合に計算の転用をすることもできるようになるだろう。 今回は日程上行うことができなかったため、同定を取る方法案を記載しておく。
厚みだけを振った板材(例えば、2mm / 3mm/ 4 mm)を3Dプリンタで作成
想定している作用点上に、破壊が発生するまで徐々に力を加える
破壊が発生した値と計算値を比較する(3点ほど取れば傾向の比較もできるだろう)
計算値と挙動にズレが無ければ、計算結果をそのまま使用すればよい
絶対値はずれているが、傾向が合っている場合は適切な係数をかけて使用すればよい
絶対値も傾向もズレている場合は計算方法そのものを見直す
FDM(Fused Deposition Modeling)形式の3Dプリンタで作成された部品は積層方向に対する力に弱い。 熱可塑性の樹脂を溶かしながら一層ずつ形状を作り上げていくため、積層界面の接着状況に強度が左右される。
図3.8にFDM形式3Dプリンタの部品作成の様子を示す。 テーブル上に積層された樹脂は、積層直後から冷却され始める。 部品が大きければ大きいほど次の積層までのタイムラグが大きくなり、溶融している樹脂との温度差が大きくなる。また、冷却具合は環境温度にも左右される。
上記のような積層方向に対する割れに関しては、外乱の影響が大きいため机上計算することは困難である。 そこで、積層方向に対して大きな力が加わる部品に関しては、できる限り破壊のリスクを減らすため図3.9に示す構成を取ることとした。 まず積層方向に対して力が加わる側の部品Aを中空形状とする。 次に積層方向を90°変更した補強部品Bを別途作成し、部品Aの中空部に圧入する。 この構成を取ることにより、積層方向に対して力が加わったとしても部品Bが力を受けてくれるため破壊しにくくなる。
駆動構成のシンプル化のため、本機体の脚部・アーム部の駆動モータにタミヤのギアドモータ380Kを採用することにした。
ここで、ギアドモータの出力部はDカットされた出力軸から駆動を伝達する必要がある。 ギアドモータの出力軸径はφ6mmと細いため、直接3Dプリンタで作成した部品へ駆動を伝達すると図3.10のようにDカット部で削れが生じる。削れが進行すると、最悪駆動伝達ができなくなる恐れがある。
そこで、モータ出力を受け取る部分に関しては、金属(今回はアルミ)で部品を作成することとする。 この金属部品から3Dプリンタで作成した部品へ駆動を伝達することで、モータ出力部の削れを防止する。
3Dプリンタはテーブルサイズ以上のサイズの部品は作ることができない。 筆者の所有している3Dプリンターは「Maker Bot社のReplicator 2X 」であるが、そのテーブルサイズは246mm×152mm×155mmである。 一方、かわさきロボット競技大会のサイズ規格は幅250mm×奥行350mm×高さ700mm(停止時)である。 そこで、テーブルサイズ以上の部品を作るための構成を考えた。
複数部品を嵌め合わせて大型部品を構成
強度確保のため厚みを十分に確保
はめ込み形状を利用して部品同士を結合させる
ねじれにも強いはめ込み形状
実施例詳細は、詳細設計で説明する。
かわさきロボットを作成するためには、上記項目の他にも下記のようなアクションアイテムをこなす必要があるだろう。取りたい構成に応じて基本設計内容を見直し、早い段階で課題とアクションアイテムを整理することが大事である。
脚部構成:素早く動くためのリンク比とモータ個数/減速比計算
復帰構成:転倒時の復帰構成
高メンテナンス性確保l構成:迅速な修理・交換作業ができるようにメンテナンス性のよい構成を考える
詳細設計は概念設計・基本設計で決めた内容をさらに具体化し、最終形状を作りこんでいくフェーズである。 概念設計で決めた機体コンセプトを頭の片隅に置きながら、基本設計で決めた設計パラメータを形状に落とし込んでいこう。詳細設計では細かい形状の作りこみを行うことが多いため、ともすれば重箱の隅をつつくような作業に没頭してしまうことがある。脱線してしまうことがないように注意しよう。本フェーズの説明は筆者の実施例を中心に解説する。
全体構成を図4.1、図4.2に示す。
本機体では底部フレームが土台となっており、脚ユニットが4つ締結されている。 脚ユニットは4つ全て共通であるため、どの場所にでも取り付けることが可能であり、 また故障時対応がしやすい。 脚ユニットは底部フレームを挟み込むように取り付けた後、ネジ1本のみで固定する構成とすることでメンテナンス性を向上させた。
中間フレームには2枚の側面フレームが締結されており、側面フレームにはアーム全部品が取り付けられている。中間フレームは、底部フレームの背面に設けられた角穴にはめ込んだ後、底部フレーム前面側にネジ2本 で締結される。中間フレームを外すだけで、底部フレームとアーム部を容易に分離できる構成としたことで、メンテナンス性を向上させた。
機体の各状態とサイズの関係は下記の通り設計した。
図(a) 停止状態。規格サイズに収まるようにアーム先端を分割し、アーム長を短くした状態で待機している
図(b) 走行時の状態。開始直後にアームを動かすと、アーム先端が自重で回転しアーム長が伸びる
図(c) 相手機体攻撃時の状態を示した斜視図。基本設計で検討した通り射程距離は機体全面から250mmとなっている。
アーム構成は「3.2.1 アームの設計パラメータ」で計算した通りのパラメータで設計を行った。 側面からみた断面図を図4.4に示す。
アーム駆動用ギアドモータ(1:75)は小ギアに接続されており、合計4つのギアドモータの駆動力がアームへと伝達される。駆動伝達経路は、ギアドモータ、小ギア、大ギア(第1クランクと接合されている)となっている。小ギアと大ギアの減速比は基本設計で計算した通り、1.6としている。
アームの第2クランクには相手機体攻撃時に大きな力が加わる。 「3.2.2 アーム部品の強度」で計算した通り、幅32mm以上、厚み23mm以上を確保して設計している。
試合時に部品破損は発生しなかったため、必要強度は確保されていたと考えられる。
基本設計方針で決めた通り、負荷がかかる部分に関しては積層方向の割れ防止構成を採用して設計した。 負荷のかかる箇所と実際の設計構成を図に示す。
基本設計方針で決めた通り、ギアドモータ出力部には削れ防止構成を採用して設計した。 実際の設計構成を図に示す。
3Dプリンタのテーブルサイズを超える部品に関しては、分割・結合する必要がある。 本機体では、側面フレームが該当する。結合部の断面形状を六角形とすることで、組立方向の垂直方向に力が加わったときの外れを防止している。組み立て方向を斜めにすることで、側面フレームを中間フレームに結合した後は、組み立て方向に対する外れを防止している。
20 かわさきロボット競技大会 規則
http://www.kawasaki-net.ne.jp/robo/22th/battle/rule.html かわさきロボット競技大会 公式HP
http://www.kawasaki-net.ne.jp/robo/ かわさきロボット競技大会 かわロボ道場
http://www.kawasaki-net.ne.jp/robo/about_kawarobo/dojo.html PTC Creo Elements/Direct Modeling
http://ja.ptc.com/product/creo/elements/direct-modeling タミヤ ギアドモータ380K
http://www.tamiya.com/japan/robocon/robo_parts/g_motor/g_motor_zumen.htm Makerbot Replicator 2X
http://makerbot.co.jp/contents/replicator2x.html