ロボット紹介とこれから

ロボット紹介とこれから

前回、「今アツい!ロボットをビジュアルプログラミングするプラットフォーム、PILEとは?」という記事で、PILE Projectとはどのようなプロジェクトなのかというところに重点をおいて紹介させていただきました。
今回は重点をロボットにおき、より詳細な機能や今後の製作の方向性についてハードウェア担当の一人、村田が紹介いたします!

1代目ロボットの機能

メイン画像のロボットはPILE Projectのメインプロダクトです。Bluetoothでタブレットと通信し、測距ラインセンサタッチセンサを用いてセンシングを行い、モーター(新バージョンではローテーションサーボ)で走ります。この構成はプログラミング教育を行うにあたって必要最小限に抑えたものとなっており、動作が理解しやすく、安価に製作が可能であるという特徴があります。

ロボットのメインフレームはMDFという素材で出来ています。MDFは安く、加工がしやすいのが特徴です。これをレーザーカッター加工しています。レーザーカッターで切った後の独特な匂いが僕は好きです。
開発当初はプラスチック成形をして可愛いロボットを作ろうとしていました。でも時間もお金もかかるので断念。かわいいロボットについては乞うご期待!

写真にもあるようにロボット中央に付いている基板はロボットの頭脳ともいえる重要な部分です。冒頭で紹介した機能すべてが乾電池2本で動くように設計されています。それぞれのセンサにつながるケーブルはPHコネクタ(2mmピッチ)を使用しています。この回路に積んであるマイコンは「PIC24FJ64GB002-I/SO」です。このマイコンはUSB-OTGという機能が付いておりマイコンがUSBのHOSTになることができます。これによってbluetoothのドングルを使うことができるようになります。開発初期ではBeagleBornBlackを使おうとしていました。しかし、BBB自体が5000円と高いので、それにさらにアタッチメントボードを作るとなると基板だけで1万円超えてしまいます。BBBと比べるとできることは減ってしまいますが、コストと相談した結果マイコンを使うことになりました。

電池2個によって駆動していることについても触れておきます。これはいろいろ議論しました。電池にも種類があり、Wiiリモコンにも入っている「乾電池」と最近ラジコンでよく使われている「LiPo」の2種類で悩んだものです。しかし「LiPo」は危険で充電回路を作るのも大変なので今回は使わないことになりました。
乾電池と決まったからといってそれだけで終わりではないんです。必要な電圧は「3.3V」「5V」の2つ。そして乾電池1本あたりの電圧は「1.5V」。単純に考えると昇圧よりも降圧の方が楽なので電池4本を選ぶでしょう。そうすれば降圧の回路が2つあればいいのです。でも、4本って本数が多くて用意しづらいし、ロボット本体も大きくしなければいけなくなりちょっとださいかな?という理由で2本になりました。
これだとぎりぎり「3.3V」のものは動かすことができますし、「5V」は昇圧すればいいのです。そう思って作って動いたは良かったのですが、電池がすぐヘタっちゃう問題が出てきたんです。1時間も保たないロボットになってしまいました。これについては次回作で改良する予定でいます。

次に各センサ、アクチュエータについて紹介していきましょう。
○測距(センサ)○
これは名前の通り、「距離を測る」センサです。センサから障害物までの距離を電圧で教えてくれます。これをロボットに取り付けるためのマウントは3Dプリンタで作成しました。CADはメタセコイアを使用して作成しました。作るのはすぐだったのですが、3Dプリンタはやはり製作に時間がかかりますね。

○スイッチ(センサ)○
ロボット上部の測距の位置のちょうど真下についています。このロボットでは前方のタッチセンサとして使用しています。これ単体では範囲が狭いのでロボットのバンパーをスイッチとして機能させることによって範囲を広げました。これを作成するには直径4mmのバネを9巻切ってネジで両端を固定するというような作成にとても手間がかかってしまうものができてしまいました。

○ラインセンサ(センサ)○
ロボット下部の前方に付いているのは赤外線LEDとフォトトランジスタで構成されたラインセンサです。フォトトランジスタの出力が直接マイコンのADCにつながっています。しきい値はアプリ側で設定するようになっています。LEDとフォトトランジスタを固定しているものはアクリル板とLEDソケットです。アクリル板もレーザーカッターで加工しています。

○モータ(アクチュエータ)○
モータはタミヤのダブルギヤボックスについてくるDCモータを使用しています。また、これを駆動するためのモータドライバにはDRV8830DGQRを使用しました。これはPWMを自動で出してくれるのですがI2Cでパルス幅を制御できます。
ところでモータというのは動くたびにノイズを発生します。これによって電源電圧が一瞬小さくなるので、マイコンもリセットするし、ICもリセットするし、まともに動きませんでした。
安いDCモータにはちゃんとノイズ対策用のコンデンサをつけましょう。値も大事ですよ。
モータの筐体と端子の間につけるコンデンサは0.001μFくらいでモータの端子間につけるコンデンサは0.1μFぐらいでちょうどいいみたいです。

これからの改良

この章ではこれまで紹介したロボットの改良しようとしている部分についてと、全く新しいロボットのコンセプトについてちらっと触れます

○二代目にむけて○
問題点は以下の3つ
1. 電池保ちが悪い
2. ラインセンサの作成が大変
3. 左右のモータの出力が同じにならない。電圧によって出力が安定しない

○新たなロボット
一代目のロボットの改良に加えて新しい機能を備えたロボットの作成についても考えています。このロボットを作る目的としては、カリキュラムの幅を広げ、ビジュアルプログラミングとコーディングの間にあるギャップを埋めることが挙げられます。
これについて今決まっていることは「Edisonを使うこと」です。進展があればまたそのときにお伝えします。

違反について