徒然なるままにMake:

Fusion360 3Dプリンタ 電子工作 面白そうなモノづくりをやっていくブログ

3Dプリンターでロボット作ってみる 多脚ロボット編 37 コントローラを改良します3(完結)

前回 コントローラーの筐体を設計しました。

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

前回設計したパーツの出力にかかる時間は合計で15時間

プリンターの稼動音の関係で昼間しか動かせないので、結局2日かかりました。

 

 


3Dプリンターでロボット作ってみる 多脚ロボット編 37 コントローラを改良します3 その1

実際に組み立ててわかったことがあります

ボタンがひっかかって押せません

ボタンの穴はドリルを使って整えたのですが、マージン0.1mmというのは流石に狭すぎたようです。

こういうときの対処は簡単です

動くように修正すればいい!

 

まずこれが修正前のボタン

f:id:something-make:20181202085518p:plain

そしてこれが修正後のボタン

穴とボタンに0.5mmのオフセットをさせました。

これなら動くはずです。

f:id:something-make:20181202085522p:plain

 

ボタンがくるくる回転しないようにつけた裏側の六角形も0.5mmオフセットをさせました。

f:id:something-make:20181202085725p:plain

f:id:something-make:20181202085722p:plain

 

 

これで組み立てるとしっかりと動くようになりました


3Dプリンターでロボット作ってみる 多脚ロボット編 37 コントローラを改良します3 その2

 

完成したコントローラはこんな感じです

まず表

f:id:something-make:20181202090217j:plain

ネジが目立ちますが、とりあえずこれでよしとします。

そして裏

f:id:something-make:20181202090246j:plain

こちらもネジだらけです。

基板固定、電池固定、カバー固定で随分とネジを使いました。

 

これにて、多脚ロボット編 は完結です。

割としっかりしたロボットとコントローラーを作れたので満足しています。

 

3Dプリンターでロボット作ってみる 多脚ロボット編 36 コントローラを改良します2

前回 コントローラをモデリングして、試作部品を3Dプリントしました。

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

前回の試作でコントローラの改良をどうやって進めていくのか見通しが立ったので、改良版モデルを作りました。

f:id:something-make:20181123230030p:plain

前回作ったCADデータにねじ留め部分を追加し、各スイッチにパーツを追加しました。

f:id:something-make:20181122215047p:plain

f:id:something-make:20181123230035p:plain

上に被せるカバー部分は結構な大きさになりました。

3Dプリント時間を試算してみたところ、このカバーだけで8時間かかることがわかりました。

完成時から動かしても深夜にプリンタの稼動時間がずれこみそうだったので、今日はプリントは無しです。

f:id:something-make:20181123230037p:plain

3Dプリンターでロボット作ってみる 多脚ロボット編 35 コントローラを改良します1

前回 遠隔操作できました!

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

前回でロボットの遠隔操作に成功したので、このプロジェクトもほぼ完了なのですが、実際に作ってみて気になることが一つ

 

 

コントローラが使いづらい!

 

もう嫌になるくらい使いづらいんですよ!

問題点を挙げてみると、

  1. 基板が小さくて持ちにくい
  2. 電池がぶらぶらしていて危なっかしい
  3. 基板の裏がショートしそう
  4. スイッチが小さくて押しづらい

とりあえずこのへんの問題をなんとか解決できないもんかと思いました。

そこで、基板にカバーを被せて電池を内臓し、ボタンなんかも大きくしてみたいと思います。

参考にしたのはこれ

www.thingiverse.comこういったケースを3Dプリンターでつくってみようと思います。

 

まずは基板をFusion360モデリングします。

モデリングに使うのは定規とノギスです。

 

これだけあれば、十分なモデルをつくることができます。

XBee基板の角等、少々違うところもありますが、コントローラのカバーを作るにはこれで十分です。

f:id:something-make:20181122214529p:plain

 

9V電池のモデルは、世界共通規格なので、探してみるとすぐ見つかりました。

grabcad.comこのCADデータを少々面倒ですが、会員登録してもらってきます。

 

はめあいなんかがどうなるかわからないので、まず作ってみます。

基板をネジで留めて、横に電池とスイッチを配置します

f:id:something-make:20181122215047p:plain

 

 

パーツの固定はM3のねじとナットで

f:id:something-make:20181122224352p:plain

f:id:something-make:20181122224354p:plain

 

こだわったポイントがここです

ネジが干渉するので、基板を差し込んで留めます

f:id:something-make:20181122224349p:plain

 

そんなわけでさっそく印刷します。5時間くらいかかりました。

f:id:something-make:20181122231305j:plain

 

基板もバッテリーもしっかりとはまりました。

ただ、電源スイッチはキツくて嵌りませんでした。要修正です。

f:id:something-make:20181122231338j:plain

 

 基板の差込もしっかりとできました。

f:id:something-make:20181122231648j:plain

 

明日からは今回わかった問題点を修正して出力してみます。

3Dプリンターでロボット作ってみる 多脚ロボット編 34 XBeeで遠隔操作できました!

前回 モーション作りました

something-make.hatenablog.com

 

このロボットの3Dデータは下のリンクのものを使用しています

 

 前進、後退、右旋回、左旋回のモーションをつくることができたので、ロボットをコントローラーで動かしてみます。

 

まず基本はコレです。

something-make.hatenablog.com各種設定を完了したXBeeArduinoのTXとRXに繋ぐと、シリアル通信をそのまま転送してくれます。

  1. コントローラーからシリアル通信で一文字送る
  2. ロボットでシリアル通信を受信する
  3. switch-case文でモーションを選択して実行
  4. モーション実行中に送られた文字は全て読みこんでなかったことにする
  5. 最新のシリアル通信データを受信する

という以外に簡単なプログラムでできました。

4は動作中に送られたシリアル通信を無視することで、モーション終了時点で最新のシリアル通信データを読み込み、コントローラに対する反応を良くしています。

この機能が無いと、シリアル通信で送られた信号に対応するモーションを片っ端から実行してしまうので、コントローラからの操作にすぐ反応せず、操作が困難になります。

この機能は以前のArduino開発環境ではSerial.flush()関数でしたが、仕様変更によりSerial.flush()関数の機能が変更になったので、Serial.read()関数が-1を返すまでSerial.read()を繰り返すことで代用しています。

 

while( Serial.read() != -1){}

 

実際にコードを書く場合はこのようになります。Serial.read()が-1(データ無し)にならない限り、Serial.read()を実行し続けます。

 

これでコントローラでロボットを自在に動かすことができるようになりました。

youtu.be

3Dプリンターでロボット作ってみる 多脚ロボット編 33 モーション作ります

 

前回

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

 

今日はモーションを作ります。

まず歩行のモーションですが、下のリンクを参考にします。

Make: Japan | Arduino搭載四足歩行ロボットのプログラム

 

まあ、このモーションの入力は以前やったので楽勝です。

something-make.hatenablog.com

しっかり歩くようになった際の記事はこれです。

something-make.hatenablog.com

www.youtube.com

 

さて、前進することができたら、後退はこれを逆にするだけなので簡単です。

 

ロボットを自由に動かすために、今度は旋回をプログラミングします。

上のリンクにあるクリープゲイツの応用で旋回させます。

黄色の矢印がロボット本体の向きを示しています。

 

1.まず左側の足を45度ずつ開き、右側の足を側面に平行に出します。

f:id:something-make:20181118211357p:plain

 

2.右後ろ足を持ち上げて、ロボットの後方90度に下ろします。

f:id:something-make:20181118211402p:plain

f:id:something-make:20181118211401p:plain

3.全ての足を左回りに45度回転させて、ロボット本体を右回りに45度回転させます。

 

f:id:something-make:20181118211403p:plain

f:id:something-make:20181118211410p:plain

4.左後ろ足を持ち上げて、ボディー側面に平行に下ろします。

f:id:something-make:20181118211405p:plain

5.左前足を持ち上げて、ロボットの前方90度におろします。

f:id:something-make:20181118211409p:plain

 

f:id:something-make:20181118211411p:plain

6.全ての足を左回りに45度回転させて、ロボット本体を右回りに45度回転させます

f:id:something-make:20181118211414p:plain

f:id:something-make:20181118211416p:plain

7.右前足を持ち上げて、ボディー側面に平行に下ろします。

これでロボットが右回りに90度回転しました。

f:id:something-make:20181118211422p:plain

f:id:something-make:20181118211421p:plain

左旋回は、右と左を逆にすればできます。

 

このモーションをロボットに入力すると、こんなふうに動くようになります。

youtu.be

前進、後退、右旋回、左旋回ができるようになったので、これでモーションの作成は完了です。

 

 

3Dプリンターでロボット作ってみる 多脚ロボット編 32 ちょっとした改良 滑り止めにはグルーガン

前回 基板完成しました

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

youtubeをうろついていると、似たようなロボットを作っている動画を見つけました。

 

www.youtube.com

このブログで作っているロボットの作者さんが公開しているデータを使ってロボットを作ってみたという動画です。

 

ちなみにこのロボットのデータは下のリンクにあります。

秋月電子通商でも取り扱っているSG-90を使用しているので作りやすいと思います。

www.thingiverse.com

 

この動画で目を惹いたのは、ホットグルー(ホットボンド)を足先に塗ることで、足先が滑らないようにしていることです。

早速やってみました。

f:id:something-make:20181117113002j:plain

 

 

少々形が歪ですが、これで歩かせてみると、明らかに足先の滑りがなくなりました。

 

3Dプリンターでロボット作ってみる 多脚ロボット編 31 遠隔操作編 Eagleで基板製作4 Seeedから基板届きました

前回 基板を製作業者のSeedStduioに注文しました。

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

なるべく早く届けて欲しかったのでDHL使いました。送料は15$。

データ送信して届くまで大体2週間くらいでした。

f:id:something-make:20181115132737j:plain

ずいぶん大きい袋です。中にさらに紙袋が入っています。

f:id:something-make:20181115132712j:plain

 

 

中身がこれです。ちゃんと基板ができています。

f:id:something-make:20181115124907j:plain

 

 

早速組み立ててみることにしました。

微妙かもしれなかったスイッチですが、問題無く嵌りました。

f:id:something-make:20181115124912j:plain

 

しかしここで大誤算が発生しました。

ピンヘッダが嵌りません!

このピンヘッダは自作したライブラリのものを使っているのですが、穴が小さくて嵌りません。

同じく自作したXBee変換基板は特に問題ありませんでしたが、

変換基板のピンとピンヘッダの太さが違うということに気付いていませんでした。

f:id:something-make:20181115124908j:plain

 

ライブラリ製作時の穴径はちゃんとピンの太さを測ってから設定するべきでした。

完全にやらかしました

でも、もう後戻りはできません。

2週間の時間を費やして作ってもらったのですから。

 

とにかくリカバーです。基板を修正します。

ちゃんと組み立てることができて、問題なく動けば問題ありません。

ピンヘッダの対角線が0.8mmなので、0.8mmのピンバイスでゴリゴリと穴を拡げます。

f:id:something-make:20181115132538j:plain

持ってて良かったピンバイス

ちなみに穴の数は3pin×サーボモーター12chで36個あります。

卓上ボール盤とか無いので手作業で片っ端から穴をあけます。

 かなり手間ですが、やるしかありません!

 

 

ちなみにこれをやると穴の周囲のパターンがほとんど剥げてしまいます。

これではハンダが付きません。

なので穴に繋がるパターンの保護層をヤスリの先っぽで削ります。

多分これで大丈夫です。

f:id:something-make:20181115132634j:plain

 

 

 

 

無事に穴が大きくなったので、ブレッドボードを利用してピンを並べてハンダ付けします。f:id:something-make:20181115124913j:plain

 

一時はどうなるかと思いましたが、無事ハンダ付けすることができました。他は特に問題なくハンダ付けすることができました。

f:id:something-make:20181115124914j:plain

 

他の部品もハンダ付けして基板製作は完了です。

これからはモーションの作成と遠隔操作のプログラミングをやります。