86個の小さな6本足の組み立てチュートリアル


 

 


プロジェクトの発端

「そういえば… Scarnaプロジェクト の後、かわいい6足ロボットを作りたくて…」 前回のSgarnaプロジェクトは大きな注目を集め、議論を巻き起こし、上司のMaker魂を刺激しました。それ以来、上司は仕事の暇さえあれば、ロボットが教育市場に与える影響を拡大する方法を考えるようになりました。そして今、皆でロボットを組み立てられるようにするアイデアが浮かびました… 突然、「そうだ!3Dプリンターがあるぞ、プリンター!」上司はひらめきました。「エンジュオ博士、準備しろ!」 「え?何だって…」エンジュオ博士は愛想笑いを浮かべましたが、上司は気にせずテーブルに紙切れを叩きつけました。エンジュオ博士が紙を見ると、そこには「台湾ビール」と「焼き鳥」と書いてありました。「これは何だ?」「うろたえずに、この2つを用意して。新しい6本足ロボットの設計図と交換するつもりだ!」 「もしかして…伝説のU大学を招待するためか!?」エンジュオ博士は突然理解しました。 「そうだ、これで足りないならもっと追加するぞ!!」 上司の目は星で満ちていた。彼の心の中にあるMaker魂は、まさに動き出す準備が整った。こうして、ロビー活動(賄賂)を経て、U大学の独創的な設計のもと、世界初の86ヘキサポッドが誕生したのだ。

機能説明

86Duino 3Dプリントヘキサポッド!! 機構図からプログラムコードまで、完全にオープンソースです。自宅でファイルをダウンロードし、3Dプリンターと組み合わせ、ティーチングすれば、手作りへの欲求を満たすことができます。プログラムを書かなくてもモーターを動かすことができます。オープンソースのモーション編集ソフトウェア86MEを使って、86ヘキサポッドの歩行、旋回、ダンスなどの動きを完成させ、86ヘキサポッドに力強い生命力を与えましょう。すべてはゼロから始まります。詳細な手順はすべて以下の教材コンテンツに記載されています。手作りに自信のある方は、材料を揃えて、さあ、波を起こしてみませんか?

準備するもの

  1. 86Duino One または 86Duino Zero マザーボード(どちらか 1 台)
  2. Tower Pro SG90 サーボ 12 個(初めて実装する場合は、予備として 2 個追加購入することをお勧めします。つまり、14 個です)
  3. 3D プリンター 1 台(このプロジェクトでは 86Duino ENJOY を使用します).補助工具:ヤスリ、ラジオペンチ
  4. 2mm x 4mm ネジ 1 パック(20 個以上) 2mm x 8mm ネジ 1 パック(20 個以上) 2mm x 15mm ネジ 1 パック(20 個以上) .組み立て工具:ドライバー、2mmタッピングナイフ、2mmドリルナイフ
  5. 電子拡張ボード 1枚(86Duino Zero を使用する場合のみ必要です。ご自身で作成する必要があります。詳細はこちらをクリック).穴あきボード 1枚、3×4 デュポンピン 3本、1×2 デュポンピン 1本.溶接工具:はんだごて、はんだ
  6. 2.54mm デュポンワイヤー 12本

材料を準備したら、さあ、手を動かして、筋肉を伸ばして、作業を始めましょう! ! わあ! わあ! ! (意味のない叫び)

印刷機構

ここで使用する3Dプリンターは86Duino Enjoyです。まず、86DuinoRepetier-Hostをダウンロードしてインストールし、86Duino Enjoy クイックスタートマニュアルに従ってソフトウェアをセットアップし、86Duino Enjoyの機械パラメータを調整する必要があります。次に、Thingiverse ウェブサイトにアクセスして、86 Little Six Legs STL ファイル をダウンロードします。ダウンロードしたファイルを解凍すると、6 つのファイルがあります。zero_size

これらの 6 つのファイルのファイル名は、86 Hexapod の各パーツに対応しています。以下をご覧ください。zero_size zero_size 最初の4つのパーツ:A_arm_bottom、A_arm_top、leg、linkerはすべてヘキサポッドのパーツです。 すべて印刷したら、脚(つまり、脚の数の1/6)に組み合わせることができます。 印刷を6回繰り返すだけで、6本のヘキサポッドの脚が完成します。 次にbody_topパーツ:ヘキサポッド本体の上部です。 次にbody_bottomパーツ:ヘキサポッド本体の下部です。 上記の2つのパーツを組み合わせるとヘキサポッド本体が完成し、最後に6本の脚を接続すると、86ヘキサポッドが完成します。 まずは86Duinoでパーツを印刷する方法を見てみましょう。 お楽しみください!インストールした 86DuinoRepetier-Host を開き、[ロード] ボタンをクリックして、4 つの 86DuinoRepetier 足ファイル (A_arm_bottom、A_arm_top、leg、linker) をロードします。 zero_size

読み込まれた画像は次のとおりです。zero_size リンカーをクリックし、パーツをY軸に沿って90度反転します。以下の図をご覧ください。zero_size リンカーパーツを反転すると、配置角度は以下のようになります。

zero_size

A_arm_bottom をクリックし、パーツをY軸に沿って180度反転します。以下の図をご覧ください。zero_size 裏返した後、A_arm_bottom パーツは以下の角度で配置します。

zero_size

裏返した後、足パーツは以下のようになります。 サポートオプションを開き、「サポートタイプ」を「すべての場所」に設定します。zero_size ここまでで、合計2つのプロセスを実行しました。

1. パーツを反転する

2.オープンサポート

多くの人がここで混乱していますが、なぜこのようなことを行うのでしょうか?

まず、この3Dプリンターは「フューズド・ラミネーション」と呼ばれるプロセスを採用していることをご存じでしょうか。この印刷方法は、ノズルを加熱して印刷材料を溶かし、ノズルから印刷材料を押し出すというものです。高温の印刷材料は冷気に触れると急速に冷却され、硬化します。ノズルがすべての経路を通過すると、冷却された層が硬い平面を形成し、その後ノズルが引き上げられ(またはパーツシートが下げられ)、2層目の印刷が継続されます。これがプロセスです。1層印刷したらノズルが引き上げられ、さらに1層印刷したらノズルが再び引き上げられ、これを繰り返してパーツの最上層が「印刷」されます。

パーツが必ずしも完全な立方体ではないことはご存じのとおりです。もしそうなら、印刷は簡単に成功しそうですが、印刷に失敗する可能性はあるのでしょうか?そうです、印刷プロセスを理解していないと、失敗する可能性が非常に高くなります。このタイプのプリンターを使用する際に注意すべき点を見ていきましょう。そうすれば、なぜパーツを反転させてサポートを開く必要があるのかがわかるでしょう。

先ほど見たリンカーパーツのように、これは多孔質の不規則なパーツです。「Fused Lamination」印刷方式では、前の層からのサポートがない「特定のパス」(つまり、パスが下に浮いている状態、つまり穴になっている可能性があります!)が必ず層に印刷されます。そのため、ノズルがこれらのパスを通過すると、印刷された材料は冷却する時間が取れず、重力によって下に引き下げられ、少なくとも見た目が醜くなり、最悪の場合、パーツ全体を成形できなくなります。見た目が醜いのは当然のことですが、一体どのような方法で成形できないほど深刻な状態になっているのでしょうか?

重要なのは、浮いている層が安定した平面を形成できるかどうかです。安定した平面を形成できなくなると、その上の層は当然底がなくなります。すると、印刷された材料はノズルから落下し、空気中で直接冷却されます(底がないため)。ノズルが移動すると、空気中に乱雑な線が形成されます。最終的には、完成したパーツではなく、線が多数残ってしまい、時間の無駄になるだけでなく、印刷材料も無駄になります。

このような事態を避けるため、パーツを反転させて、各層のパーツの吊り下げ経路を最短にするか、完全になくします。これにより、成功率が向上するだけでなく、完成品の外観も向上します。パーツは完全な立方体ではないのですから。

どうやっても適切な角度が見つからない場合はどうすればいいですか?

このような場合、ソフトウェアの「サポート」オプションをオンにすることで、ソフトウェアが自動的にサポートパーツを生成し、吊り下げられた部分に底ができます。印刷完了後、これらのサポートパーツは手動で取り外すことができます。後でサポートを除去する手順はありますが、印刷に失敗するよりはましです!

これを見て、3Dプリンターを初めて使う方の中には、「配置角度を考慮しなくてもいいなら、ソフトウェアの「サポート」オプションを直接オンにすればいいのでは?」と疑問に思う方もいらっしゃるかもしれません。正直に言うと、可能です。これが一番時間の節約になりますし、反転方法を考える必要もありませんよね?とにかく、ソフトウェアが自動的にサポートを生成するので、印刷に失敗する心配はありません。オンにするだけで大丈夫です!

結果からすると、この考え方は正しいかもしれませんが、ソフトウェアがサポートを生成する場所や生成数を制御することはできません。ソフトウェアはアルゴリズムに従って恣意的にサポートを生成することしかできないため、印刷後にサポートを除去するという地獄に陥る可能性があります(サポートが多すぎるため)、特に狭い隙間にあるサポートは、素早く除去するのが困難です。ようやくサポートを取り外したとしても、エッジに残渣が残っていて組み立てに影響するので、ヤスリで滑らかにします…サポートが多すぎると、後で取り外す時にいつもイライラしてしまいます。この「削り」の面倒を避けたいなら、パーツを何度かひっくり返して、サポートが最も少なくなる角度を積極的に探すことをお勧めします(一方で、印刷材料の節約にもなります)。

サポートを外す感覚が好きだという人もいます…とてもクールなので、この方法を選ぶことに反対はしません(ご存知の通り、このプロセスには一部の人のMaker魂が隠れているものです)。

上記は、私がこのタイプの3Dプリンターを操作した際の経験です。長文の説明を読んでいたかどうかはさておき、次のステップはスライスボタンを押すことです。ソフトウェアが自動的にサポートが必要と思われるパーツを追加し、最終的に86Duino Enjoyプリンターが理解できるGコードファイルを生成します。 zero_size 完了すると、次のような画面が表示されます。 zero_size これで、ファイルを86Duinoに転送する準備が整いました。どうぞお楽しみください。転送方法は2つあります。

方法1:USBケーブルを使って転送する

スライス後、USBケーブルを接続し、印刷ボタンを押します。 86Duino Enjoy はすぐに印刷を開始します: zero_size

方法 2: SD カードを使用する

SD カードをコンピューターに挿入し、スライス後、下のアイコンをクリックして G コードファイルを SD カードに保存します: 「G コードエディター」タブを選択 > 「保存」ボタンを押します。zero_size SDカードのgcodeフォルダにファイルを保存し、ファイル名をauto.gcodeに変更して「保存」をクリックします。zero_size SDカードをコンピューターから取り外し、86Duino Enjoy背面のSDカードスロットに挿入します。

86Duino Enjoyの電源を入れると、86Duino Enjoyは自動的にauto.gcodeファイルを読み取り、印刷を開始します。

86体の小さな6本足の動物を完成させるには、以下のパーツを印刷する必要があります。

1. 足6本

2. 上半身1体

3. 下半身1体

印刷には時間がかかる場合があります。コーヒーを飲んで休憩し、すべてのパーツが印刷されるまで待ってから次のステップに進むことができます。

パーツの組み立て

新しくプリントしたパーツには多くのサポート材が付いているので、まずそれらを取り外す必要があります。リンカーパーツは、ラジオペンチを使って以下のサポート材を取り外します。zero_size ボディトップパーツは、ラジオペンチを使って以下のサポート材を取り外します。zero_size サポート材を取り外した後取り外すと、取り外された面にバリ(突起)が残っています。これは、その後の組み立てに支障をきたすため、手元にある平らなヤスリを取り、これらのバリを滑らかにします。リンカー部分については、平らなヤスリを使用して、凹凸のある表面を滑らかにします(下の図の矢印)。 zero_size サーボがスムーズに配置できるようになるまで研磨します。 zero_size body_top 部分についても同様です。サーボが簡単に配置できるようになるまで研磨します: zero_size 最後に、サーボがスムーズに押し込まれるまで body_bottom 部分を研磨します: zero_size 次は組み立てを始められますか?ご心配なく、まだ穴あけとタップ加工が必要です。

タップ加工が必要な穴は、下の図の赤い円で囲まれています。

リンカーパーツ: zero_size A_arm_bottom、脚パーツ: zero_size body_top、body_bottomパーツ: zero_size ドリルで開ける必要がある穴は、下の図の赤い円で囲まれた部分です。

リンカー、A_arm_bottom、A_arm_top パーツ: zero_size body_top、body_bottomパーツ:zero_size 完成したら、ターンテーブルをサーボに取り付ける準備をしますが、まずサーボをゼロにリセットする必要があります。ゼロにリセットするとは、サーボを可動範囲の中心に向けることを意味します。サーボをゼロにリセットするには、Servo86ライブラリを使用し、Servo86 を使用してサーボをゼロリセットし、86Duino IDE を使用してリセットプログラムを86Duino開発ボードに書き込みます。以下のサンプルコードが提供されています。

86Duino ゼロリセットプログラム

<本体>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#include &amp;amp;amp;amp;amp;amp;amp;lt;Servo86.h&amp;amp;amp;amp;amp;amp;amp;gt; // Servo86を使用するライブラリ

  

Servo myservo1; // サーボオブジェクトを初期化する

  

void setup()

{

  // サーボピンを2に設定する

  myservo1.attach(2);

 

  // サーボを返すために1500usのPWM信号を送信する中間点へ

  myservo1.write(1500);

code>

 

void loop() {

86Duino One リセットプログラム

1

2

3

4

5

6

7

8

9

10

11

12

13

14

#include &amp;amp;amp;amp;amp;amp;amp;amp;lt;Servo86.h&amp;amp;amp;amp;amp;amp;amp;gt; // Servo86ライブラリを使用する

  

Servo myservo1; // Servoオブジェクトを初期化する

  

void setup()

{

  // サーボピンを21に設定する

  myservo1.attach(21);

 

  // 1500usのPWM信号を送信してサーボを中間点に戻す

  myservo1.write(1500);   

code>

 

void loop() {}   

書き込み後、86Duinoは指定されたピンから1500usのデューティのPWM信号を直ちに出力します。次に、サーボを86Duinoに接続する必要があります。

86Duinoを電源/バッテリーに接続すると、サーボは直ちに中間位置まで回転します。この時、十字形のアクセサリプレートの短軸を中間点(印の線)に合わせ、下図のようにサーボ出力軸に取り付けます。zero_size 完成後、ネジを使ってパーツを固定します。完成図は以下の通りです。ニッパーを使ってアクセサリープレートを加工し、長い辺を切り落とすこともできます。

zero_size

6本の脚が完成したら、ボディを組み立て、6個のサーボをボディーブートに配置します。(下図参照)

zero_size

外側に出ているサーボ接続線をボディの中央まで引き出し、片方の端から延長します(これは、後の配線を容易にするためです)。zero_size ボディ上部を覆い、下図の赤い円で示したように、15mmネジ6本でボディ上部を締めます。

zero_size

ドリルを使って、スロット付きアクセサリトレイ(下図の中央から2番目の穴)に穴を開けます。合計6つのスロット付きアクセサリトレイに穴を開ける必要があります。zero_size 上記のゼロ調整プログラムを使用して、6つのサーボを中央にゼロ調整し、下図のようにストレート形状のアクセサリプレートをサーボ出力軸に取り付けます。

zero_size

2mm x 4mmのネジを3本使用して脚を固定します(2本はアクセサリプレートを固定し、もう1本はリンカーとボディボトムを固定します)。セルフタッピングネジを使用して、サーボのスロット付きアクセサリプレートを締め付けます。見栄えを良くするために、斜めペンチを使用してスロット付きアクセサリプレートの突出部分を切り落とすことができます。zero_size 6つの脚すべてを固定すると、次の図のようになります。

zero_size

86Duino Zero 開発ボードの取り付け

下図の赤い円に沿って、2mm x 4mm のネジ 3 本を使用して、86DuinoZero を body_top に固定します。zero_size 2mm x 4mmのネジ2本を使用して拡張ボードを固定します。zero_size 86個の小さなヘキサポッドサーボの番号は、次のように拡張ボードのピンに対応しています。zero_size 12本の黄色(PWM)、1本の赤色(VIN)、1本の黒色(GND)のデュポンワイヤを使用して接続します。 86DuinoZeroとアダプタボード: zero_size

86Duino One開発ボードの取り付け

下図の赤丸部分に合わせて、2mm×4mmのネジ3本で86DuinoOneをボディ上部に固定します。 zero_size 86ヘキサポッドサーボ番号は86DuinoOneのピンと以下のように対応しています。zero_size すべてのサーボケーブルを86DuinoOneに接続します。zero_size 最後に、86ヘキサポッドの見た目を良くするために、露出したケーブルを整理します。まず、露出したサーボケーブルを86ヘキサポッドの本体に引き込み、サーボケーブルを前後に折り曲げ、ケーブルタイで両側のブラケットに固定します。結束バンド: zero_size 結束バンドで固定した後、右図の赤枠部分をサーボケーブルが通らないようにしてください。この部分は将来リチウム電池を配置するスペースになります。

モーションコントロール

86ME Mk-II は 86 Hexapod アプリケーションプロジェクトをサンプルプロジェクトとして設定しているため、86Hexapod.rbm の歩行アクションは C:\ProgramData\86ME\examples にあります。プロジェクトを開いたら、各 86 Hexapod に合わせてオフセット値を微調整してください。これにより、サーボの小さな誤差を修正できます。

結果表示

— デモ動画 —

関連情報

[1] フルコースビデオ

[2] STL構造ファイルのダウンロード

[3] 86個の小型6足ロボットDIYコース教材:


 

手作り遊園地ホームページ

86Duino のテキスト参考資料はクリエイティブ・コモンズ 表示-継承 3.0 ライセンスに準拠しています。参考資料内のコード例はパブリックドメインとして公開されています。