nyabot’s diary

電気猫の夢を見るお話

制作記録_2020(04-12)

今年の春頃から、作業した内容や考えたことのログをメモに残しています。
年末だしせっかくなのでそれをここに上げておこうという試み。
こういう誰の役に立つでもない内容の浅い日記的なやつ、ブログ=WebLogの古い在り方って感じがしてすき。約17,000文字。


2020/04/18

赤外線送信に再挑戦する。 前回は、赤外線の記録はできたが、送信がうまくできなかった。 原因の一つとして、赤外線LEDの電流(=光量)不足が考えられる。まずはここを修正して、試すことにする。 抵抗値を書籍をもとにしたものから下げ、LEDに200mA程度流れるようにした。本来は過剰な電流だが、リモコン用としてなら照射時間が短いことから問題ないはず、というWeb情報と自己判断による修正。 結果、前回うまくいかなかった照明の操作が問題なくできるようになった。おそらく、他の家電も同様に操作できるものと思われる。

2020/04/20

bodyの作成に着手したい。電子部品のテストと異なり、検討・修正の繰り返しを何度も行う必要があると想定。故に、早い段階から着手しておき、思考時間を多く取るようにしたい。 今日は、急がば回れという考えから、CADソフトの習熟に努めることにする。経験則として、こうしたツールを用いる場合は、手を動かすより先に知識を得る方が最終的には効率が良い。今回のように、完成物にクオリティを求める場合は尚更だ。

2020/04/29

数日前から脚部の設計を再び始めている。 サーボを固定するフレームと、塗装してフレームに被せる外装を分けて作る。

2020/05/03

脚部フレームの大まかなモデリングはできた。 複数の脚とボディをデータ上で仮組みすると、ひざ下の短さが目立ったので延長。 不恰好なのは良くないが、長くしすぎると成形と制御が難しくなる。 テストプリント後、動作に応じて設計を大幅に見直す必要が生じるかもしれない。

ボディフレームの作成に際して、予め使用するすべてのモジュールをモデリングしておく。ボディフレーム上に配置するために(配置可能なボディフレームを作るために)、少なくとも正しいサイズを把握しておかなくてはならないからだ。

各モジュールのモデリングを終えたら、ボディフレームの設計に取り掛かる。 脚部が本体の最下層に位置し、クーラーに取り付けたレンズが最上層に位置 する。

2020/05/05

新しいアイデアが湧いた。ニキシー管時計を取り付けたいと考えていたら、その電源供給用にUSBコネクタが欲しい、と思った。予めつけておけば、拡張時にも使えるし、非常時にもスマホの充電なんかに使えるかも。 また、スピーカーの電源もバッテリーから直で取れば、ノイズの削減ができるのではないか。

2020/05/09

脚部のモデリングを行なっている。フレームと外装の分離が課題で、外装部分に曲線を多用する場合の自然な接続が難しい。また、各パーツが干渉しないように調整するのもなかなか困難。 しかし、脚部は顔や頭部に次いでデザイン的に重要なポイントなので、妥協はしないようにしたい。

2020/05/11

脚部設計の続き。 足の根元部分のフレームはほぼできた。モデリングを進めるうちに、フレームと外装が干渉することが判明したため、外装を作り直すことにする。 曲面かつ薄い外装部分に負荷をかけるのはたわみなどの心配があるし、ネジ穴を空けるのは美しくない。数時間が水の泡だが仕方ない。妥協はしない。

2020/05/15

二日前に、尻尾を曲げるためのリンク機構を考案した。twitterにあげたところかなり反響があり、新しい知見も得られた。 尻尾等にはワイヤ駆動を用いるのが定石らしい。しかし、ゾイドなど同様のリンク機構で動くホビーもあり、動作や保持、堅牢さを考えるとこちらにも優位な面がある、らしい。 サーボモータで動作させることを考えると、サーボの動作角は余裕をみて120度で、尻尾の先は180度+αくらいの増幅率にしたい。 リンク間の長さを調整することで調整していく。トルク負けするようならギアで減速して、というのも考えたが、もともとの動作角に制限のあるサーボモータではあまり意味がない(力の加わる接続点をサーボに近づけると、その分動作の増幅率が大きくなってしまう)。実際の寸法で作成し、トルクの不足に応じてサーボを変更できるように設計するか。

2020/06/03

足の設計とテストプリント完了。 足は昨年からあれこれ考えていたので、かかりきりではないとはいえ、半年以上かかったことになる。年始にはすでにリンクを用いた2軸のテストプリントをしていたが、そこからはかなり大幅な変更を加えた形だ。結果として動作の自由度はとても高くなり、電源から変更したことで全体の設計やトルクにも余裕が生まれた。コストも大幅に増したが仕方ない。 概ね完成といったところだが、実際に組むと、いくつか修正の必要な点が見つかった。

  • サーボの中心穴の径拡大→中心は大きめにする
  • サーボホーン固定用の穴を追加
  • フレームの幅1mm程度大きく→サーボを固定した際、やや歪んでいるため調整
  • 爪先の固定方法修正→現在ではネジが余る、止めるのも困難
  • 配線用の穴の形状を最適化→大きすぎたり、線が暴れたりする
  • 第1外装と第1フレームの固定用爪追加→膝側がぱかぱかしそう
  • 第2外装と第3フレームの干渉低減?→改善できればもう少し可動域を増やせる。要検討。
  • 脛の長さを短くする→要検討。1,2cm短くしてもいいかも。

今は気乗りしないので、時間のあるときに修正する。

2020/06/04

今日からは尻尾の設計に入る。 リニアサーボという、直線運動をするサーボモータがあるのを知った。回転運動を直線運動に変換しているものだ。 まずは真似てギアを作り、手持ちのサーボで直線運動を操作できるようにするところから始めようと思う。 180度の回転をおよそ2cmくらいの直線運動に変換するつもり。 尻尾の曲げ伸ばしにはリンクを用いて、リニアサーボで動かす。 直線運動の長さに合わせてリンクによる曲げ伸ばしの角度を計算をするのは至難なので、作成したモデルから曲げ伸ばしに必要な長さを求め、それに合わせてギアの歯の数や大きさの方を調整する予定。

リンク構造を使用した骨組みをまず作り、そこに配線用の空洞と外装を加える。

2020/06/某日

直線運動への変換は非効率で不要だ。 単純にしっぽを上げる回転運動をサーボで操作できるようにギアを作ればいい話だった。 作成したモデルでは、サーボの180度を60度に変換することとした。60度程度ならギアが大きくても高さを抑えられる。

2020/06/10

しっぽのリンク部分をプリントし、動かしてみた。 ギアの噛み合わせも問題なく、サーボのトルクも不足はしていなかったようで、今のところは成功と言えそう。 しかし、外装部を取り付けることで重量も増加するため、実際にトルクが足りるかどうかはやや厳しいところだ。 また、プリントすることで細かな数値、特に厚みのずれによる干渉が判明したため後日調整する。 サーボMG90Sを180度動かせていなかった(150度程度だった)ので、後日プログラムも修正する必要がある。

2020/06/24

尻尾の水平方向の可動について、先週から少しずつCADをいじっている。 歯車を用いて120度くらい動かせるようにするつもり。もともと180度動かす必要はないし、トルクも単純計算で1.5倍くらいになる。 サーボを取り付けるスペースと、軸を中心にする兼ね合いから、形状がやや複雑になる。

2020/06/25

尻尾の根元部分のサーボを覆うパーツを作った。 サポートを多く使用したため、PLAでは問題なかったものの他の素材だと綺麗に除けなくなるかもしれない。 また、口が狭くサーボが組み込めないという致命的なミスもあり、根本的に修正が必要。 印刷後の部品を見ると、積層間の定着が弱いようだった。フローの問題か、温度の問題か。次回は温度を少し上げてみることにする。

フィラメントについて。PETGが完成品の素材には適していると考えていたが、PC(ポリカーボネート)もアリかも。しかし、その場合は塗装が困難になる。ひとまずは保留。力が加わるフレームにはPETG、外装はシルバーのPLAとかでもいい気がするが、悩ましい。

2020/07/07

ここ一週間ほど、ロボットではない動かないモデルを作っている。 fusion360レンダリング機能を使うと、自分でも驚くほどクオリティの高い(高く見える)モデルができ、楽しい。 昨日、このモデルをもとにARで表示ができないか、というアイデアが浮かんだ。今日調べてみたところ、Webを使って思ったよりも簡単に実装する方法がありそう。しかし、fusion360はあくまでも設計用のソフトであり、そういったモデルの作成には適していないみたいだ。かわりに、blenderという3DCGソフトを使用すると良さそう。使い慣れてきたfusion360でオブジェクトを作成し、blenderで取り込んで調整、といった流れでモデルは作れそうな気がする。 ARはロボットと比べると実在感で大きく劣るが、優れている点も多い。 まず、多くの人に手軽に見てもらうことができる。また、モデルの作成も物理的な制限がほぼないため容易だと想像できる。自重を支えなくてよかったり、モーターや基板やバッテリーなどの制限を気にしなくていいのは本当に楽で良い。アニメーション等はどの程度できるのかわからないが、ロボットに同じことをさせるよりも簡単なのではないか、と思う。面白そう。

2020/07/24

ARのモデル作成と表示について。 7/13にARのモデル表示用サイトを公開。着色は間に合わなかったので、その後数日に渡り更新を続けた。 SNS上でもそれなりの反応が得られ、スクショをあげてくれたフォロワーさんも数人おり(とてもうれしい)、個人的には満足。 共有の手軽さという点はやはり大きい。共有したものがモデル自体や設計図だったなら、それを作る人は一人もいなかっただろう。 しかし一方で、その空虚さも感じた。データはデータに過ぎず、と言うとやや語弊があるが、そこから得られる情報量が、実在するものと比べると圧倒的に少ない。何らかの方法で情報の不足を補うことができれば現実に近しくもなるのだろうが、そのためには例えば膨大な分岐を持つ対話機能など、より実現が困難であろうものを要する。データにリアリティを持たせることは、実物にリアリティを持たせるよりよほど大変だということを実感する。今回作成したARモデルが今後動いたとしても、恐らくフィギュアへの認識とさほど変わらず、そこに心は感じない気がする。あるいはVRとかなら、多少は違うのかもしれないが。

2020/08/21

一、二週間ほど前に、リンク機構を用いた尻尾のテストプリントをした。軸径等のわずかな誤差の重なりによって、全体で大きくがたつきが生じることがわかった。重量が思ったより増えてしまっていることも原因かもしれない。現時点では改善が困難であるため、簡素な尻尾をゼロから作ることにした。

今日ようやく尻尾ができた。 可動は根元から上下左右のみとなり、リンク機構を用いたものと比べて面白みには欠ける。一方で、構造はシンプルになり、サイズやデザインの統一感ではこちらが勝っているように思う。 塗装や見栄えを重視し、尻尾は二つのパーツを重ねて作ることとした。もともと1パーツとして印刷するには大きすぎたため、部品を繋ぐ上でも2層構造は都合がいい。 尻尾の先端と根元だけ付け外しできるようにネジで固定し、他は接着してしまう予定。 部品の強度や、自作のギアを用いないためトルクがやや不安ではあるが、配線経路まで含めてひとまず納得のいくモデルが完成したので、次に進む。

足の以下の修正をまだ行っていなかったため、行う。再掲。

  • [x]サーボの中心穴の径拡大→中心は大きめにする
  • [x]サーボホーン固定用の穴を追加
  • [x]フレームの幅1mm程度大きく→サーボを固定した際、やや歪んでいるため調整
  • [x]爪先の固定方法修正→現在ではネジが余る、止めるのも困難
  • [x]配線用の穴の形状を最適化→大きすぎたり、線が暴れたりする
  • [x]第1外装と第1フレームの固定用爪追加→膝側がぱかぱかしそう
  • [x]第2外装と第3フレームの干渉低減?→改善できればもう少し可動域を増やせる。要検討。
  • [x]脛の長さを短くする→要検討。1,2cm短くしてもいいかも。→しっぽ作成後全体のバランスを見たらちょうど良さそうなので保留。

また、しっぽの設計に関しても、若干改善の余地があるように思う。 しっぽの胴部は各パーツを接着する予定ではあるが、面積も狭く強度が心配だ。

2020/08/25

全体像と頭部の動作構造について、スケッチを描いた。頭部は3軸で動かす予定。サーボは下から順に、左右、上下、傾き、と動かすために3つ使用する。ピッチ・ロール・ヨーとも呼ぶらしいが、どれがどれかまだ忘れそうなので使わない。胴体に固定されるサーボは一番下の一つだけなので、動作の優先度(?)を考えて決めた。 例えばこの順番なら、「左を向いて」「顔を上げて」「右に傾ける」というかたちで指定ができる。この順番が一番感覚的に指定できそう。

2020/08/26

脚部の修正を行った。時間をあけたおかげか、かなりスムーズに進められた気がする。

胴体の作成に入る。 足と尻尾を配置してみたところ、どうにもイマイチな形状になる。サイズのバランスの問題かも。胴体はなるべく小さくした方が良さそう。

2020/08/28

胴体の作成をやり直した。足の配置を均等にし、少し詰めてみた。まだバランスは今ひとつな気もするが、足の動作範囲を考えるとこれ以上は限界もある。 降圧コンバータやラズベリーパイのモデルも載せてみたが、足のサイズが大きいおかげで胴体の積載スペースは多少余裕がありそう。あとは頭部や胴体の形状で見栄え良く調整することにする。

2020/08/29

今後の設計の進め方について

頭部のサイズや形状が確定しないと、胴体の最適化ができない。 まずは頭部を作る必要があるが、そのためにはどのモジュールを正式に採用するか確定しなくてはならない。 つまり、現在まだ試していないセンサやカメラ等を先にテストしてから設計の続きを行うこととする。 同時に、尻尾の先につけた赤外線LEDが正常に動作するか、また、暗視カメラモジュールと組み合わせて活用できるかどうかも確認しておきたい。

そのほか設計に関して

設計の難度を考慮して、目の可動はなくす方向で進めたい。赤外線は尻尾からの照射のみでやってみる。 頭部につけるものは、OLED2、カメラ、マイク、スピーカー、ToFセンサ?、照度センサ?、タッチセンサ2?、温湿度センサ? 目にOLED、口と鼻にカメラとマイク、耳か頬にスピーカー。額と顎にタッチセンサ。 ToFセンサはあご下辺りにつけたい。 照度センサは後頭部・首元あたりにつけたい。スペース含め要検討。横からなるべくファンの光等が入り込まないように設計する。

2020/08/30

ラズベリーパイに冷却ファンを取り付け、カメラモジュールのテストを行った。mjpgstreamerを用いたが、以前の方法ではうまくいかず、書籍の手順に従ったところ無事実装できた。 USB接続のウェブカメラよりも動作が安定している様子で、ストリーミングが滑らかだ。 カメラモジュールに付属のコードは少し短いので、長めのコードを買う必要がありそう。

2020/08/31

テストを行うにも、いちいち配線をし直したりしていて面倒になってきた。 決まったピンを使っているわけでもないから、期間が空くと忘れて一からやり直す羽目になりがちだ。 そこで、先に全体の配線を決めてしまおうと思う。 まず、使用するモジュール・センサー類を列挙し、繋ぐ必要があるもの(3.3V, 5V, GND, GPIO, etc…)を確認する。あとはラズベリーパイの各ピンと電源から降圧した5Vを直接とるものに振り分けていけばいい。

  • サーボドライバー *2
  • 電圧
  • タッチセンサ *2
  • ToFセンサ
  • 温湿度センサ
  • 照度センサ
  • 赤外線LED
  • スピーカー(電源必要?)
  • 冷却ファン
  • マイク(専用コードのみ)
  • カメラ(USBのみ)
  • OLED *2

ラズパイのピンの一覧表を作ったので、これを使って整理していく。 表のおかげで使っても後々支障のないであろうGPIOもわかった。

2020/09/04

胴体の作成を進めている。各パーツの形状の調整と、接続部の追加を行った。 外観にあまり影響しない作業なためタイミングを逃しがちで、しかしながら必要不可欠なことでもあるので進められてよかった。 だいぶ実現に近づいた気がする。 土台となる板状パーツがまだ印刷するには大きすぎるので、うまく分割しないといけない。 PETGはPLAとくらべて柔らかいようなので、たわまないように補強も入れておきたい。(あるいは、プレート状のもの、内部フレームはPLAで作るのもアリか?)

課題として表出したのは、バッテリーの配置に関する問題。 充電器とプラグの形状等から、充電の度に取り外す必要がある。ボディの最下部に引き出しのようなものを作り、そこに収めることにしようと思う。 同時に、ラズパイのみへの給電用のUSBについても検討。 バッテリーを使用しないときはラズパイの電源のみ入れるため、microUSB端子にはコードを挿しっぱなしにして、バッテリーからの給電はピンから行おうと思う。 バッテリーを使用する際はUSBコードはボディに格納しておき、バッテリーを使用しないときだけコードを引き出せるようにしたい。 こちらも、ボディの最下部に配置すると都合がいい。構造について検討していく。

2020/09/05

バッテリーの配置スペースの確保のため、胴体下部のサーボ固定部分中央を2層構造に修正。 あわせて、ボディのフレームを印刷できるサイズに切り分け、固定用の形状を追加。 サーボモーターのコードが綺麗に収まるかが少し心配。収まりが悪い場合は、結束バンド等で何とかするつもり。 固定用のねじ穴の配置が難しく、思った以上に設計に時間がかかった。 今回の修正により、内部の空きスペースがかなり減った。基本的に胴体部分の拡張は現時点では考えていないため、好ましく捉えることにする。

2020/09/07

電源まわりの回路について検討。 以前スピーカーに乗っていたノイズが電源を原因とするものならば、ラズパイへの給電とスピーカーへの給電を分けたい。 また、複数のサーボドライバーPCA2685へ5Vを流す際の配線についても確認する必要がある。 これらが決まらないことには、本体のモデリングが進められない。 電源の切り替えには物理スイッチを用いるつもりだが、とすると本体外装の設計を多少見直す必要が出てくるかもしれない。そのあたりも踏まえて今後詰めていく。と思ったが、スイッチは調べてみると流せる電流が大きくなく、使用するにはトランジスタやFETを使う必要がありそう。実装するためのスペースも考えるとかなり難しく、今回は見送ることにしようと思う。 スイッチを用いることなく、安全に電源の切り替えを行えるようにする。とすると、やはりバッテリー駆動時はGPIOピンから給電し、アダプター接続時はmicroUSBから給電、というのがいいかもしれない。

2020/09/11

先日の記述について二つ訂正。 スピーカーのノイズについては、電源を変えてもなり続けていたため、別の原因があるはず。オーディオジャックを外しても鳴り続けるようならラズパイ側に問題があり、そうでないならば回路に問題があると考えられる。 どちらにしても、回路を改善することでノイズは抑えられそうだが、かなり大掛かりな改造になりそう。 ラズパイ側の問題でないなら、もう一つ同じスピーカーを買って試してみるのも手だ。あるいは、別のスピーカーを試してみてもいい。

スイッチはものによっては問題なく使えそう。バッテリーとアダプタの切り替えをする、電源の完全なON/OFFをする、には同様の仕掛けは何かしら必須なので、やはり採用する方向で進める。

今後の流れについては、次のように進める。

  1. 必要なモジュールの選定
    1. スピーカー
    2. 物理スイッチ
  2. 接続方法の確認
    1. 2台目のPCA9685への5V給電が1台目のPCA9685から可能か確認
    2. 各モジュール、センサー類の使用するGPIOピンの確定
    3. 実体配線図の作成
  3. 回路の作成/寸法計測
  4. 頭部の作成
  5. 胴部の作成

スイッチはトグルスイッチをAliで購入した。定格は6A125VAC。一般にAC125VはDCにすると25V以下ならば同等の電流を流すことができるそうなので、5V3Aのラズパイ電源用なら問題ないはず、という予想。

2020/09/12

トグルスイッチに加えて、プッシュスイッチも載せることにした。 胴部の空きスペースに台を作り、それらを設置する。胴部を大きめに作っておいたことが幸いし、ちょうど収まった。 ボディの後方に温湿度測定モジュールと照度測定モジュールを設置する予定。

2020/09/13

fritzingで実体配線図を作ろうと思ったが、パーツを探す手間の方がかかってしまう上にそもそもパーツがない。作るのも調整するのも難しそうなので、今回は使用しないことにする。

I2C通信が少し理解を深めた。ラズパイのピンはSDA,SCLの2ピンだけだが、並列して機器をつなげることで、該当するアドレスの機器を指定して操作することができる。 おそらくセンサー類はこのI2Cで接続するはずなので、それぞれのアドレスも調べて確認できるところに書いておこう。アドレスがわかれば、あとは並列でつなぐだけでいい。

ラズパイ3の電流容量は、3.3Vは100mA程度、5Vは電源-1400mAを目安に、と書かれていた。 5Vの方は余裕があるが、3.3Vの方は気をつけた方がいいかもしれない。 ちなみにOLEDの消費電力はフル点灯で0.08Wとのことなので、3.3Vだと24mA強の計算。ふたつで50mA弱。

モジュール 電圧(未確認含む) 接続 アドレス等
PCA9685(1) サーボドライバ 3.3V I2C
PCA9685(2) サーボドライバ 3.3V I2C
OLED SSD1306(1) 128*64 有機EL 3~5V I2C
OLED SSD1306(2) 128*64 有機EL 3~5V I2C
INA219 電流電圧センサー 3~5.5V I2C
DHT22 温度湿度センサー 3.3V-5V
BH1750FVI 照度センサー 3-5V I2C
VL53L0X ToF測距センサ 3-5V I2C
TTP223 タッチセンサ 3.3V
赤外線LED 5V トランジスタ2SC1815使用
赤外線受光モジュール

接続に関してはSPIが使えるモジュールもいくつかあるが、I2Cが使えるものはそちらを使うことにする。 まずはそれぞれの接続方法を改めて確認し、I2Cならばアドレスの重複がないように、それ以外なら使用するピンの重複がないように調整する。 バッテリーからサーボへ電力を供給するサーボドライバのみ、トグルスイッチで動作電源のオンオフをできるようにする。つまり、他の電源と分けるか、並列の場合も間にスイッチを挟むように設計する。 あるいは、サーボドライバの電源電圧が5Vであるならば、それもラズパイを通さず引っ張ってくるのもありか。いや、配線がかえってややこしくなるだけだ。却下。

他の電源に関わらず動作させるモジュールについては、基板上に共通の電源として5Vまたは3.3Vをラズパイから引いてきて、そこから各センサを並列でつなげるのが良さそう。

2020/09/14

2x8のユニバーサル基板のモデルを作成し、ボディモデルの内部に配置した。 サイズはギリギリ。よく言えばぴったり計算しつくされたかのような収まり具合で、胸をなでおろす。

2020/09/15

基板の配線について考えた。複雑な回路を用いないため、かなりシンプルにできそう。 まだ途中ではあるが、全体でも基板のサイズには余裕を持って収まりそうで、一安心。

2020/09/18

基板の配線について引き続き検討。

2020/10/02

バッテリーの収納部を設計。持ち上げてスライドすることで開く構造になっており、開閉のたびにネジ等を外す必要がないものにした。 充電時のことなどを考えると改善の余地はいくらでもありそうだが、きりがないのでこのまま進めようと思う。

今後の流れについて。

  • 頭部の設計
    • サーボによる可動
    • タッチセンサ配置
    • スピーカー配置
    • マイク配置
  • 頭部の下のベース部分の設計修正
    • ToF測距モジュール配置
  • 内部の配線スペース確保
    • 電源供給経路
    • 温湿度センサ配置
    • 照度センサ配置
  • 脚部と尻尾部の高さを実測し、同じになるよう調整
  • 基板等固定用の穴空け
  • 印刷

まずは全体の形状を確定して、それから細部に取り掛かる。 しかしそのためには内部構造を決定しなくてはならない。 つまり、頭部に搭載するスピーカーの選定をまず行わなくてはならない。 ノイズの原因は何か。電源によるものなのか否か。否であれば解決方法は? ラズパイを通したUSB給電だからノイズが乗るのかと思ったが、実際にはバッテリーからの直接給電でもノイズはあった(要検証)。接触不良の可能性もある。接続し直すのもアリかも。ボリュームは半固定抵抗になっていたはず。抵抗値を計測して、固定抵抗に変えてみてもいい。 ボリュームの変更はシステムでしか行わないし、抵抗を減らせば電流が増し、音量も増すはず。その分音が割れたりする恐れもある。

2020/10/05

1号の頭部をばらしてスピーカーを取り出し、テストした。さよなら、またね。 スピーカーをMacにつないだところノイズは生じず、原因はラズパイの方にあると判明。また、ラズパイのジャックに接続してもバッテリーから電源を取るとノイズが軽減されたため、ラズパイを介してUSBから電源を取るのは好ましくないことがわかった。(テストに使用したモバイルバッテリーは一定電流以下の場合に一定時間ごとに電源のON-OFFを繰り返すため、その度にブツブツというノイズは乗っていた。)

一号機から二号機へ流用するパーツはラズパイとスピーカーの二つになる予定。これは生物で言うところの脳と声帯であり、抽象的な意味合いでは心と声として捉えることもできなくはない。それらが共通なら、それは同一個体とも呼べるかもしれない。ロマン溢れるね。

2020/10/09

頭部外装の設計。 実物の猫に似せるには目や口が小さすぎるし、少しデフォルメする。 光沢のあるモデルだと光が表情のようになり不自然だったが、光沢をなくすといい感じになった。 耳の内部形状は要検討。スペースが許すようであれば、スピーカーは穴を開ける必要性上、耳に配置するのが自然かもしれない。 また、耳内部であればサーボからの距離も近いはずなので、トルクの面でも好ましい。

2020/10/16 2020/10/19

頭部内部の設計を進めている。 思ったより重量が嵩み、サーボのトルクや保持力、安定性に不安があるため、上下軸と傾き軸は両軸化させた。軸自体にかかる負荷が分散できるので、多少の気休めにはなるはず。 鼻先のマイクとスピーカーのアンプ基板を設置するスペースを除きほぼ完成。

全体の完成も徐々に見えてきた。できれば11月には印刷を開始し、年内に組み立てを終えたい。 タクトスイッチが届いたため、通電テストを行った。金具に固定用の突起があったため、固定部分の設計を微調整する必要がありそう。

2020/10/20

引き続き頭部の内部設計。開けていなかった穴を開けている。 目鼻固定用のパーツがやや複雑な形状をしているため、調整に時間がかかっている。

2020/10/21

頭部外装を分割し、組み合わせるための形状を追加。 はめ込むだけなので固定がしっかりできるか不安だが、負荷のかからない箇所なので甘く見ておく。

2020/10/22

頭部内部と頭部を固定するパーツを追加設計。 頭部内部にスピーカーのアンプ基板を収める部位を追加設計。

2020/10/23

鼻に位置するマイクの取り付け用パーツを設計。 測距センサカバー周りを設計。ボディフレームの形状調整。

2020/11/04

PETGフィラメントのテスト。 Curaのデフォルト設定の215℃でテストし、218℃に上げ、戻した。糸引きは多いが215℃の方が多少軽減される。 PETGは糸引きは不可避なようなので、造形物に問題がない現在の設定で続ける。 ヒートベッドは一層目のみ定着させるため70℃、以降は0℃とし、加熱しないように設定した。熱暴走による停止があったため対策。

2020/11/05

頭部内部フレームの作成。組み上げまで想定どおり行えたが、トルクに不安がある。 眼のガラスレンズ固定パーツがやや穴が小さく、過度な厚みがあるように感じられたので、穴径を広げ、1mm薄くして作り直した。 設計を変更すればサーボの軸を1cmほど中心に動かせそうなので、検討。

2020/11/06

頭部ピッチ軸のサーボまわりを設計変更して作り直した。重心に軸が約1cm近づき、パーツの干渉も減らしたため動きがスムーズになった。 前回のテスト時は間違えて3.3Vでサーボを動作させていたので、トルクはもともと足りていた可能性がある。 まぁ結果としてより良い設計になったので良しとする。

これで頭部内部はほぼ完成。 動かしてみるとヨー軸の動作が若干他と比べて不安定だったが、これは両軸化していないせいかもしれない。 気になるようであれば、サーボ同士を固定しているパーツだけ作り変えれば安定させられる。一旦保留。

2020/11/0x

頭部外装のプリント。 開口部の大きさはちょうどよく、ギリギリ内部機械を収められる。 一方で固定には難があり、しっかりと止めるためには接着や一工夫必要になる。

2020/11/0x

頭部外装のプリント。左耳の方。 PETGを使うこともあり、なるべくサポートを必要としない角度で印刷したが、それが仇となった。 PETGはPLAと比べて印刷中にかなり揺れる(下部が薄いと曲がる)。 積層のずれた跡がかなり大きく残り、二箇所割れも生じた。相変わらず表面のダマも多い。

2020/11/11

頭部外装のやすりがけを行う。120番の紙やすりで全体をやする。表面の糸引きやダマはかなり取れたが、積層痕や細かな穴などは消せそうにない。適当なところで妥協。

2020/11/12

頭部外装の下地塗装。 プラサフを満遍なく吹き付けたのち、穴や積層痕が大きく目立つ箇所だけ筆で色を乗せた。ほとんど隠れない。

また、OLEDの目を覆うカバーパーツに銀を筆で塗った。出来栄えはイマイチだが、頭部外装に隠れることでいい感じに見えてくれることを願う。

2020/11/13

回路図を書き直す。 抵抗を除く大まかな全体像を、配線図として作成した。 5VをGPIOに繋げてしまっていたため、後で修正しないと。

2020/11/14

昨日シルバーのPLAフィラメントが届いた。 PETGの印刷箇所が終わったら、こちらも試してみる。灰色ではない、銀の光沢がうまく出るといいのだけれど。

2020/11/20

配線図を書き直した。後から見直すと、一部の抵抗やスイッチ、USB接続のマイクと専用端子でつなぐカメラなどは抜けていたが、それらを除けばほとんど完成に近い。ずっと曖昧なままだった不安な部分だけに、不完全とはいえ一枚の紙面にまとまるのはちょっとした感慨がある。 A4にギリギリ収まるくらいで、随分大きなスケールになってしまったなぁと思う。しかしセンサーはロボットにとっての五感になるわけで、うまく使いこなせばよりリアルな反応パターンを生むことができる。

シルバーのPLAフィラメントをテストした。一度パーツをプリントしてみたら、なんだか以前のPLAと比べてあまり綺麗に印刷できず、パラメータの設定をやり直すことにした。 スライサーソフトの使い方を学び、一定の高さごとに印刷時のパラメータを変更できるようになった。高さごとに温度を変えて、適切な温度が決まったら次はファンの速度を調整した。明日の夜には印刷速度を調整してみる。 温度調整の時点で、印刷の品質がかなり決まってくる感じがする。今後別のフィラメントを使うときも、最低限これだけはやろう。

2020/11/21

回路に用いる抵抗の値を計算した。一度やったことでもすぐに忘れてしまうので、自身のブログが備忘録として大変役立つ。 今後の進め方については少し悩ましい。先にすべて配線してしまえば楽なのだけど、そうすると問題が生じたときに原因の切り分けが困難になる。やはり一つ一つモジュールをテストしてから、最後に配線するのが無難だろうか。

関係ないが、トランジスタについて調べていると、だいたい詳しく書かれているブログはオーディオ界隈の方のものだ。まるで研究者のように詳しすぎて、理解が難しいレベル。音楽を聴くという行為は主観に基づく感覚的なものと思っていたが、良い音の追求は極めて論理的に行われる、というのは興味深い。

PLAの場合、印刷スピードはCuraの初期設定である60msより速くても問題ないことがわかった。テストでは、印刷の品質は90msで確認できる変化がなかった。造形物を動かさないタイプのプリンターだから、というのもあるかもしれない。 先日0.2mm層で作ったモデルを、パラメータを調整した0.15mm層で作り直した。見た目の変化は、正直言えば自己満足の部類だ。ただ、層が細かくなる分、サポートを用いない斜辺は綺麗になった。

2020/11/2x

脚部外装パーツをプリント。印刷時間はパーツ一つあたり2時間程度。

2020/11/29

胴体後方の設計修正。給電用のDCコネクタ取り付け用の穴を作成した。 以前購入したカメラ接続用の専用コードがどうやら数センチ短いようなので、買い直す。試行錯誤や計算違いで細かな出費が嵩むなぁ……。

2020/11/30

胴体後方のPLAをプリント。印刷時間は8時間40分くらい。大きいパーツだから反りやすいのか、印刷開始1時間ほどで一度ベッドから造形物が剥がれてしまったため、印刷開始面とベッドの距離を少し縮めてやり直し。 配線において、分岐結線には簡易接続コネクタを使用するつもりだったが、内部にコネクタを取り付けられるスペースがなさそう。仕方なくはんだで結線することにする。

2020/12/17

プリンターのベルトが緩んできているように思えたので、きつく止めなおした。 胴体上部ベースプレートの印刷を試みるも、プリンターベッドの水平が取れていないようで高さが合わない。 プラットフォームシートの交換をする。

2020/12/18

プラットフォームシートを交換したところ、印刷の問題はなくなった。プラットフォームが傾いていたのかも。 しかし、今度は食いつきが良すぎる。 前部ベースプレートと尻尾の外装を印刷。

2020/12/19

残りのタスクと年内の日数を照らして計算したら、年内に組み立てまで終えるにはかなりのハードスケジュールになることがわかった。 印刷しっぱなしのパーツが部屋に散乱しているのを今年中になんとかしたいが、そのためにはハードを完成させる必要がある。やれるだけやってみよう。 配線がかなりややこしいが、もしミスがあってもPiさえ焼けなければ他のパーツが壊れても大した痛手にはならない。電源まわりだけ慎重に気を付けておけば、あとは完璧でなくてもいい。

2020/12/20

仕事に行っている間にプリントを少しでも進めようと、朝からプリンターを動かす。 家を出る前にすでに出力が不安定になっていたため、慌てて停止してそのまま出勤。 このところ気温が低いせいか、失敗が多くなっている気がする。帰宅後に同じ設定で再度試したら、今度は問題なく印刷できた。

2020/12/21

PLAの全パーツ出力が終わった。PETGにフィラメントを切り替え、パラメータの調整を行う。 尻尾のインナーパーツのプリントを始めたが、熱暴走によりプリンターが停止したり一層目が剥がれてしまったりで、5回も失敗した。冷却のために時間を空けたりしていたので、調整だけで丸一日終わってしまった。 明日、ブリムをつけてスライスし直し、もう一度試してみる。

2020/12/26

失敗。失敗。失敗。もうここ数日だけで7度目か。印刷が全くうまくいかない。出力したいものはたくさんあるのに、一層目が剥がれたりサポート部分が巻き込まれたり途中で倒れたり、熱エラーで停止したり、高さが勝手に変わっていたり、原因不明のままゴミ屑ができていたりする。その度に冷却して出力屑を取り除きやり直す。一層目が剥がれたりサポートが崩れたりするのは設定や設計の不備だから仕方ない。どうしていつの間にかヘッドがずれているんだ。スピードも十分に落としているし、あるいは温度がまだ低いのだろうか。いや、マイナス10度で設定していても印刷に問題はなかった。テストもしたから高すぎるということもないはずだ。流量が多い?部品の不調?さっぱりわからない。わからないが、できるまで何度でもやるしかない。

足のパーツが1組み分だけ揃っていたので、組み立てることにした。設計は以前何度も修正しただけに概ね問題ないが、一部まだ無理があった。ネジを止められない。幸い致命的ではないので、目を瞑ることにする。 サーボモータのコードの保護をしようと考えていたが、可逆的な方法で固定するとコードの柔軟性が損なわれ動作に影響することがわかったので断念。 理想通りではないものの、問題なく組み上がった。動作はややかくつくものの問題なし。かくつくのはサーボに問題があるのか、動作プログラムに問題があるのか、設計や保持重量に問題があるのかわからない。いずれ調べよう。後は実際に本体の重量を支えたとき、トルクが足りるかどうかだ。 思い返せば一年前からすでに足の試作をしていた。ここに至るまで大変だったけれども、当初想像していたものよりかなりよくなった気がする。


来年につづく。