要件定義
要件
・フォクすけ君を走らせます。
・フォクすけ君のしっぽが動きます。
・フォクすけ君の顔はFx0の画面で、感情を表現します。
・フォクすけ君のコントロールは別のFx0のモーションで行います。
全体設計
全体設計を行い担当割を決めました。
担当割
【フォクすけ本体】
Fx0 Webサーバー(httpd.js) 亀井
顔表示デザイン・プログラム 日野、亀井、太田
mbed Webサーバー 石田
mbed モーター制御基板・プログラム 藤田
モーター基台 大内、太田
【リモコンFx0】
リモコンアプリ dyna
システム構成
システム構成図をまとめました。
※内容がすこし古かったので最新版に差し替えました。(2/16)
Fx0 Webサーバー(httpd.js)開発
操作系 API (全部 GET リクエスト)
mortor
/api/motor/right?speed=[-255〜255]
/api/motor/left?speed=[-255〜255]
mbed Webサーバーにリダイレクト
face
/api/face/eye?state=[normal|closed|cry|relax]
/api/face/eye/wink
顔状態変更関数呼び出し
tail
/api/tail/swing/[start|end]
mbed Webサーバーにリダイレクト
状態取得 API
/api/ambient/light
/api/ambient/?
ロボ側のセンサー(fx0, mbed)の状態を取得する。
未実装。
顔デザイン、プログラム開発
フォクすけのフェイスパネルの仕様
平常時でも、まばたきする(静止させない、かわいい表情)
眩しいとか、拍手の音で(>・<)的な反応(Fx0のセンサーでスタンドアロン)
mbed Webサーバー開発
実装
↓のサンプルコードをベースに実装しています。
・RESTServerSample
http://developer.mbed.org/teams/KDDI-Fx0-hackathon/code/RESTServerSample/
mbed上で動くサーバーのソースコード
http://developer.mbed.org/users/yi/code/RESTServer_team4/
mbed モーター制御部開発
材料
TA7291P 3個
ユニバーサル基板1枚
単三電池4本
単三電池ボックス(4本用) 1個
XBeeバニラシールド 1個
mbed NXP LPC1768 1個
ムラタ WiFiモジュール Type YD 1個
ピンソケット 20P×1列 2本
配線材料(タミヤのキットのケーブルを流用)
レイアウト設計
レイアウトを設計します。
はんだ付けを行います。
はんだ付けを行いmbedを取り付けます。
完成した回路図
実装後に最終版の回路図を起こしました。
完成した基板
ムラタのWiFiモジュールも実装し基板は完成しました。
モーター基台部の製作
材料
タミヤ 楽しい工作シリーズ No.104 ブルドーザー工作基本セット
タミヤ ロボクラフトシリーズ No.6 メカタートル
山崎教育システム 自在パワーピースユニット(学校教材)
スチロール板
両面テープ
テグス(本体固定としっぽ可動用)
ベース基台の製作
タミヤのキットは不要なパーツは取り付けずにシンプルにしました。
シャシが木材なので固定が容易に思えます。
フォクすけ君が乗れることは確認できました。
しっぽを振る機構の製作
こちらも最低限のパーツだけ組み立てました。
主にギアボックスを立てる台としてつかいます。
クランクの部分はキットに含まれているものは使わず、学校教材のパーツを組み合わせることで動きを大きくしています。
しっぽを振る動作の確認
しっぽを振ることができるか確認を行いました。
可動部としっぽはテグスで固定しています。
いい感じです。
リモコンアプリ開発
UI
UIはこんな感じです。ボタンでフォクすけ君のアクションを指定できます。
Fx0を傾けた方向にフォクすけ君が動きます。
結合テスト
ぬいぐるみとFx0の結合
おいしい
Fx0プログラムのリポジトリ
https://github.com/dobogo/foxkeh-facepanel
appsフォルダのなかにリモコン部のプログラムがあります。
Fx0リモコンと表情変更機能の結合テスト
Fx0リモコンと表情変更機能の結合テストを行いました。
Fx0リモコンのボタンをおすと、その表情に変化します。
次は、モーター制御部との結合テストです。
Fx0リモコンとモーター制御部の結合テスト
Fx0リモコンからモーター制御部の結合テスト。自走としっぽ振りができることは確認できました。
完成!
フォクすけ君 完成!