頭の話(ロボットのです)

ChemiCo-SAN HEAD

ロボットの頭を作ってみよう

目と耳のファームウェアが格好ついてきてきたので、頭全体を作ってみます。

ChemiCo-SAN Head 3D model

こんな感じで目が二つ、耳が二つです。3Dプリンター出力用のSTLファイルはこちらです。ChemiCo-SAN/STL at main · eeAI-works/ChemiCo-SAN · GitHub

耳のほうはArduino MKR Wifi 1010一個で両方の耳がドライブできるので問題ないんですが、目はESP_Eyeが一個ずつ、合計2個必要になります。テスト用にも予備が必要なので追加で2個注文したましたが…

ESP_EYEのロットのばらつき

ロットによるばらつきのせいか、新しく購入したESP_EYEはファームウェアがそのままでは動きませんでした。しょうがないのズーム倍率を12倍から10倍に落としました。どういうことかというと、もとのロットはキャプチャーの最大解像度が800x600RGB888で取り込めたのですが、新しく購入したものは640x480RGB888でしかキャプチャーできなかったのです。まあ、よくあることです。もともとのM5CAMERAはどうかすると160×120でしかキャプチャーできなかったこともあるくらいなので、どちらかと言えばましなほうです。そういうのがいろいろあってChemiCo-SAN_Eyeのファームウェアは48×48ドットを標準解像度にして、余剰の解像度はデジタルズームとパン、チルトに使っています。800×600で動くのはどちらかと稀なようなので、GitHubのほうも640×480ズーム10倍に修正しました。ChemiCo-SAN/FirmWare/Chemico-san_eye at main · eeAI-works/ChemiCo-SAN · GitHub

3Dプリンターでの出力

ChemiCo-SAN Head First release

ダヴィンチ 1.0 Pro│3Dプリンター | XYZプリンティング (xyzprinting.com)で出力し組み立てたものです。目を上下に動かすのに最初はSG90という5Vサーボを使いました。電源供給にQiを使おうと思っているのですが、Qiならびにバッファとして接続しているモバイルバッテリーの仕様で、充電中はArduino MKR Wifi 1010の5V出力が維持できないことがわかりました。薄々そんなことじゃないかなぁ、と予想はしていましたが、実際に起きてみるとしょんぼりです。充電中に目が動かないのは困りますので対策が必要です。

サーボを低電圧駆動可能なものに交換する

FH2502 and SG90

FH-2502は最低駆動電圧が3.7Vのサーボです。何故3.7VかというとLiPoバッテリーのオリジナル出力だからですね。どうせならMCUのピン出力電圧の3.3Vまで下げてくれれば良さそうなものですが、それだと電力が足りなくて動かなくなってしまうのでしょう。実際FH-2502のトルクはSG90の10分の1なので、カバー付きESP_Eyeぐらいなら動かせますが、ロボットアームの駆動はかなり難しいと思います。Headに組み込まないでベアボードでは充電しながら動かせたので大丈夫かな、と思います。

ただいま設計変更中

というわけでFH-2502用に設計しなおした3Dモデルですが、あまり変わり映えしませんね。サーボのサイズが小さくなっているだけです。出力しようとしたところ、最近の寒波のせいか3Dプリンターのノズルが詰まりまくってうまく成形できません。ノズル交換とかいろいろやってみたんですがうまくいかないですね。設計が固まった時点で外装は外注に出そうと思っていましたので、手元の3Dプリンターは試作にしか使わないと考えて安価なものにしたのが裏目に出てしまいました。いろいろ検討の必要がありそうです。

ChemiCo-SAN_ear
ChemiCo-SAN_ear magnified

本題とはあまり関係ありませんが、耳の形は収音パラボラになっています。ところが、反射パラボラの直径が1cmしかないためろくに機能しません。音波を障害物で反射するには波長が障害物の代表長さより小さい必要があります。波長1cmの場合には34000Hz以上の超音波になります。ファームウェアのFFTプログラムはサンプリングレートの関係で15000Hz以下の音しか解像しないので、パラボラと言ってもほとんど収音効果はありません。単なる飾りとでも思ってください。ただ、この手のものは理屈を超えて利いてくる場合もあるので、意外と役に立つのかもしれません。

コメント

タイトルとURLをコピーしました