HAL2の設計

新しいロボットHAL2を作り始めている。HAL1から何を改善したいのか。

(1)何よりも、音声出力をモーター制御から分離する。HAL1の場合、モーターを動かしているときは、雑音が極端に大きく、音声を出せなかった。だから、リレーを使って、アンプをオンオフさせていた。最初は、電源から雑音のせいかと思ったが、よくよく調べると、音を作るところからくる雑音だった。最もあり得るのは、DCモーターにパルス電源 PWMをソフトウェアで送っているのだが、そのパルス作成に絡むものだ。だから、どうしてもモーター系と音声出力系を切り離す必要があった。だから、HAL2では、音声出力をもう一台のコンピュータ RaspberryPI Zeroに任せる予定だ。こうすれば、走りながらでも喋らせることができるはずである。

(2)実際使えない、超音波距離センサーをやめる。

(3)電源系がまとまりがなく、雑然としていたのをスッキリさせる。可能であれば、充電制御をソフトウェでさせたい。

(4)それと決定的に大きなもののもう一つは、ホイールをメカナムホイールから、ゴムタイヤに変えること。メカナムホイール は、横に動くなど面白い動きができそうなので使ったが、タイヤの回転に滑りが入って、回転数と位置の対応に、誤差がかなり出て困ったので。ゴムタイヤは、グリップがいいので、動きも機敏になり概略の位置を把握しやすくなるはずである。正確なところは、距離センサーをレーダーにして把握させる。

テレパシーの制御

ネタ見せで一番失敗しているのは、テレパシーの問題。テレパシーは、ロボットどうしのコミュニケーションのプロトコルである。ロボットどうしのテレパシーが機能しないとネタが成立しない。最近は、テレパシーをチェックするダイアローグをいれて、サリーに「テレパシーチェック」と語りかける。これで、サリーがHALにテレパシーを送り、レスポンスが返ってきたら、サリーが「大丈夫です」とこたえるというシステムにしていた。

しかし、ロボットに話しかけるというのがまわりに迷惑をかける。そこで、スクリプトは無関係にスマホのコントローラー場で確認できるようにした。

電源問題

常に心配なことの一番は、電源問題である。ロボットHALには12V2000mAhのニッケル水素バッテリーが4つ並列に乗っている。大きすぎるかもしれないとは思うが、モーターは結構電気を食うので、しかたがない。ただ、充電をどうするかが悩ましい。ニッケル水素電池は、リチウムイオン電池より安全だとはいわれている。継ぎ足し充電ができないとも言われる。過充電は避けなければならない。

充電用には、24Vのアダプタ経由で15Vに落として、電池に持っていっている。この電圧を13Vより下げたら充電効果がなくなった。逆流防止のためにダイオード(60V)をはさんだ。過充電を避けるために、スイッチ経由で電池の両端の電圧を測れるようにした。スイッチを入れると表示する。使っているニッケル水素バッテリーは、充電すると電圧が13V付近で安定するので、充電完了のタイミングをとらえるのが難しい。

なんどもやっているうちに、電池の特性がわかるのではないかと思っている。