3Dプリンターでロボット作ってみる 多脚ロボット編 33 モーション作ります
前回
このロボットの3Dデータは下のリンクのものを使用しています
今日はモーションを作ります。
まず歩行のモーションですが、下のリンクを参考にします。
Make: Japan | Arduino搭載四足歩行ロボットのプログラム
まあ、このモーションの入力は以前やったので楽勝です。
しっかり歩くようになった際の記事はこれです。
さて、前進することができたら、後退はこれを逆にするだけなので簡単です。
ロボットを自由に動かすために、今度は旋回をプログラミングします。
上のリンクにあるクリープゲイツの応用で旋回させます。
黄色の矢印がロボット本体の向きを示しています。
1.まず左側の足を45度ずつ開き、右側の足を側面に平行に出します。
2.右後ろ足を持ち上げて、ロボットの後方90度に下ろします。
3.全ての足を左回りに45度回転させて、ロボット本体を右回りに45度回転させます。
4.左後ろ足を持ち上げて、ボディー側面に平行に下ろします。
5.左前足を持ち上げて、ロボットの前方90度におろします。
6.全ての足を左回りに45度回転させて、ロボット本体を右回りに45度回転させます
7.右前足を持ち上げて、ボディー側面に平行に下ろします。
これでロボットが右回りに90度回転しました。
左旋回は、右と左を逆にすればできます。
このモーションをロボットに入力すると、こんなふうに動くようになります。
前進、後退、右旋回、左旋回ができるようになったので、これでモーションの作成は完了です。
3Dプリンターでロボット作ってみる 多脚ロボット編 32 ちょっとした改良 滑り止めにはグルーガン
前回 基板完成しました
このロボットの3Dデータは下のリンクのものを使用しています
youtubeをうろついていると、似たようなロボットを作っている動画を見つけました。
このブログで作っているロボットの作者さんが公開しているデータを使ってロボットを作ってみたという動画です。
ちなみにこのロボットのデータは下のリンクにあります。
秋月電子通商でも取り扱っているSG-90を使用しているので作りやすいと思います。
この動画で目を惹いたのは、ホットグルー(ホットボンド)を足先に塗ることで、足先が滑らないようにしていることです。
早速やってみました。
少々形が歪ですが、これで歩かせてみると、明らかに足先の滑りがなくなりました。
3Dプリンターでロボット作ってみる 多脚ロボット編 31 遠隔操作編 Eagleで基板製作4 Seeedから基板届きました
前回 基板を製作業者のSeedStduioに注文しました。
このロボットの3Dデータは下のリンクのものを使用しています
なるべく早く届けて欲しかったのでDHL使いました。送料は15$。
データ送信して届くまで大体2週間くらいでした。
ずいぶん大きい袋です。中にさらに紙袋が入っています。
中身がこれです。ちゃんと基板ができています。
早速組み立ててみることにしました。
微妙かもしれなかったスイッチですが、問題無く嵌りました。
しかしここで大誤算が発生しました。
ピンヘッダが嵌りません!
このピンヘッダは自作したライブラリのものを使っているのですが、穴が小さくて嵌りません。
同じく自作したXBee変換基板は特に問題ありませんでしたが、
変換基板のピンとピンヘッダの太さが違うということに気付いていませんでした。
ライブラリ製作時の穴径はちゃんとピンの太さを測ってから設定するべきでした。
完全にやらかしました
でも、もう後戻りはできません。
2週間の時間を費やして作ってもらったのですから。
とにかくリカバーです。基板を修正します。
ちゃんと組み立てることができて、問題なく動けば問題ありません。
ピンヘッダの対角線が0.8mmなので、0.8mmのピンバイスでゴリゴリと穴を拡げます。
持ってて良かったピンバイス
ちなみに穴の数は3pin×サーボモーター12chで36個あります。
卓上ボール盤とか無いので手作業で片っ端から穴をあけます。
かなり手間ですが、やるしかありません!
ちなみにこれをやると穴の周囲のパターンがほとんど剥げてしまいます。
これではハンダが付きません。
なので穴に繋がるパターンの保護層をヤスリの先っぽで削ります。
多分これで大丈夫です。
無事に穴が大きくなったので、ブレッドボードを利用してピンを並べてハンダ付けします。
一時はどうなるかと思いましたが、無事ハンダ付けすることができました。他は特に問題なくハンダ付けすることができました。
他の部品もハンダ付けして基板製作は完了です。
これからはモーションの作成と遠隔操作のプログラミングをやります。
3Dプリンターでロボット作ってみる 多脚ロボット編 30 遠隔操作編 Eagleで基板製作3 Seeedに基板を発注してみる
前回
このロボットの3Dデータは下のリンクのものを使用しています
最初はこの基板をFabLabの3Dルーターで作る予定でしたが、製作当事、基板製作業者のSeeed Studioが基板3枚1$というキャンペーンをやっていたので、Seeed Studioに発注をしてみました。
要はSeed Studioに製造に必要なファイルを送って、Paypalで支払いをすれば、完成品の基板が送られてくるわけです。
Eagleから製造用のガーバーデータ(基板の寸法、穴の位置、大きさ、プリントパターン)のデータをまとめたファイルを出力する方法は下のリンクを参考にします。
Eagleからガーバーファイルを出力する方法 – Feedback & Ideas for seeed
このガーバーデータというもの、なかなかのクセモノのようで、プリント基板製造業者によって、データ生成時の設定を変えてやったり、専用の設定ファイルを読み込ませる必要があったりするようです。
これは恐らく業者ごとの設備の差によるものでしょう。
しかし、現在Seeed StduioはEagleのサードパーティ業者として登録されているので、特にこれといった設定をせずにガーバーデータを出力することができます。
基板が完成したらCAM Processorをクリックします。
下の図のようにプルダウンリストからThird Party -> Seed Fusion -> Seed Fusion 2-Layerを選択します。
そのままProcess Jobをクリックすると、ガーバーデータのZIPファイルが生成されます。このファイルをアップロードすれば製造してもらえます。
ちなみに、製造時の設定がページ下にありますが、こういった単純な基板なら一番安いやつで問題なく製造してもらえます。
後はpaypalで支払いをすれば製造してもらえます。
ちなみに現在100mm×100mmの基板5枚で7.9$のセールをやっています。
これまたかなり安いのでオススメです。
3Dプリンターでロボット作ってみる 多脚ロボット編 29 遠隔操作編 Eagleで基板製作2
前回
このロボットの3Dデータは下のリンクのものを使用しています
今回は基板のパターンを製作します。
といっても、特別なことはしません。
- プリント基板の寸法をロボットに搭載できるように75×58mmにする
-
角から4mmのところにネジ用の穴をあける
-
部品が干渉したりしないように配置る
-
Netclassで配線ルールを決める
-
オートルーターで配線をする。
でこんな基板ができました。
配線ルールはこんな感じに設定します。
Edit -> Netclassから配線ルールを決めます。
サーボモータに繋がる電源ラインとGNDは大電流が流れるのでpowerと名づけ、太めの1.5mmにします。サーボモータの動作信号や通信用のラインはsignalと名づけて一般的な0.5mm配線にしました。
ちなみに2mmだとオートルーターが配線を決めることができませんでした。太くすれば良いというものでもないようです。
配線ルールは次のように適用します。
回路図でinformationのボタンをクリックした後。緑の配線をクリックして、配線のプロパティを表示します。
Net Classのタブがあるので、これで配線ルールを設定してやります。
これで基板データが完成しました。
これを実際に製作するにはどうするかをやっていきます。
3Dプリンターでロボット作ってみる 多脚ロボット編 28 遠隔操作編 Eagleで基板製作1
前回
something-make.hatenablog.com前回はコントローラーを作りました。
このロボットの3Dデータは下のリンクのものを使用しています
今回はロボットの基板を製作していきます。
まずは回路図の作成です。
Eagleのライブラリのどこに何があるのかをリストにしているサイトを見つけたので、下にリンクを貼っておきます。
さて、このロボットに必要な部品をリストアップしてみます
- 電源用ピンヘッダ(3ピン)×1
- サーボモータ電源安定用電解コンデンサ1000μF×2
- 秋月電子通商低ドロップ三端子レギュレーターセット×1
- ArduinoNano互換機×1
- 秋月電子XBee変換基板×1
- サーボモータ用ピンヘッダ(3ピン)×12
- 電源用トグルスイッチ×1
リストアップしてみるととくに数はありません。部品を必要なだけ入れていきます。
Eagle部品ライブラリ選択
1.電源用ピンヘッダ
電源のバッテリーを接続するためのピンヘッダです。
pinhead->PINHD-1X3というそのまんまのものがあるのでこれを使います。
rcl -> CPOL-EU -> CPOL-EUE5-10.5
右の説明にgrid 5.08 mm, diameter 10.5 mmとあります。
5-10.5は配線間隔5.08mm,直径10.5mmの電解コンデンサという意味だったわけです。
こういった電子部品は一定の規格で作られていることがわかります。
3.秋月電子通商低ドロップ三端子レギュレーターセット×1
レギュレータがどこにあるのかわからなかったのでライブラリを自作します。
ライブラリ自作の方法は過去の記事を
something-make.hatenablog.com寸法は秋月電子通商のデータシートから得ます。
akizukidenshi.com20分程て完成しました。
4.ArduinoNano互換機は
を検索すると出てきたのでこれを入れます。
これは以前作ったものをそのまま使用します。
6.サーボモータ用ピンヘッダ(3ピン)×12
これもPINHD-1X3を使用すればいいように思いますが、今回の形式では使用してはいけません。今回、ロボットのサーボモータを接続する関係上、コネクタを横にならべるのですが、PINHD-1X3はPadが横に長いので、並べると干渉します。
左側のPadが重なっている部分が干渉しています。
これはパターンを細くしているので目立ちませんが、パターンを太くすると干渉したりするので、専用の3ピンのライブラリを作りました。
7電源用トグルスイッチ×1
switch -> 320-916が近いのでこれを採用します。
回路図
部品を接続して、下の図のような回路を作ります。
電源回路
低ドロップの5Vレギュレータを使うことで、バッテリーの6.6VからArduinoを安定して動かす5V電源を作ります。バッテリーをArduinoに直結して、Arduino内臓のレギュレータで電圧を変換しても動くかもしれませんでしたが、Arduinoに搭載しているレギュレータでは6.6Vのバッテリーからでは安定して5Vを作り出せない可能性があり、動作を安定させるためにレギュレータを別に搭載しました。この部分は秋月のキットに書いているものをそのまま使っています。
さらにサーボモータ動作時の大電流で電圧低下が起きないよう、2000μF分の電解コンデンサを搭載しました。
ピンヘッダ
3ピンのピンヘッダにバッテリーからの電源と、GNDとArduinoのデジタル端子を繋ぎます。数が多くてめんどくさいですが、地道にやっていきます。
通信機能
XBee変換基板のVCCに5V電源を接続し、GNDにGNDを接続します。
を接続します。
これだけでシリアル通信ができるようになるので簡単です。
これで回路図ができたので、次回はパターンの製作に移ります。