carcon999のブログ

12年間Y!ブログの記載を移行しました。電子工作関連の記事が多いです。

TOYOTA HackCars Day2014 Days2(9/20)

■前回からの続き

前の記事
一週間インターバル(デザイン編)です。

■2日目(2回目)の開始

さあ、2日目(2回目)の開始です。まず現在の状況とアイディアの整理をします。
まず、私の残作業を整理し伝えます。行きの電車の中で、残作業をメモしておきました。

作業項目やる・やらない担当概要
空車プレートパタパタ自分空車ノブをパタパタさせるギミックの実装
非ネット対応自分Wi-Fi未接続でもデモ可能なように内部データでデモできるように実装
計算アルゴリズムの見直し×よりタクシー課金に近いアルゴリズムに改良
windowsアプリの見た目更新自分デザイン性をアップする
ガジェットの検証(動画)自分、Rさん乗車しながらメーターアップする様子を動作が撮影する
中間プレゼン資料Rさん今日のプレゼン資料
最終プレゼン資料自分明日の最終プレゼン用資料

プランナーのRさんとやる・やらないの認識を合わせました。
○は、最後までに実現する項目です。

■自分のタスクをもくもくこなします

自分のタスクを順番にこなします。
隣のチームは、ToDoリストを付箋で作成し、ホワイトボードでステータスを共有しています。
おお!共有化してる!
でも、こっちは既に共有化されているのでこの辺はやり易い。
というか、作りこみは一人です。(笑)

■空車プレートパタパタが動かん

サーボモータで、プレートをパタパタさせるのが、実はまだ連動されていません。
連動させる実装をしようとおもったら、忘れ物に気づきました。サーボのネジ穴に入れる固定化のギア?を自宅に忘れて空車プレートを固定化できません。orz まあ、明日忘れなければ良いのでそこはメモっておきます。

さらに、作業をすすめるとサーボモーターがうまく動作しません。
単体では動作していましたので、電流が足りなそうです。これは、別電源か、ACアダプター化しないとダメそうです。
この会場では準備できないので、自宅に帰ってからハード修正することにします。
※この時点では、モバイルブースター1台で作ろうと思っていましたが、本課題があり2台構成としました。

■非ネット対応

明日のデモに備えて、Wi-Fiでネットに非接続な状況でもデモが可能となるように予め用意されたデータでデモが実施できるように準備します。ありがちなのが、Wi-Fiがパンクしてデモができないパターンで何度も目にしてきたのでその対応です。
ただし、これは優先度としては低いので今日の作業としてはは見送ることにしました。

■計算アルゴリズムの見直し

これは、Rさんとも相談し「やらない」ことにしました。
現在の実装では、速度が10km/h以下の速度で走行中の時間による課金アルゴリズムが実装されていません。

windowsアプリの見た目更新

Windowsっぽいグレーの安っぽい表示を少し見直すために、デザインをTさんにお願いしてビットマップを貼りつけてデザイン性アップを行おうと思っていました。しかし、Tさんは今日お休みでした。
とりあえず、べた塗りでこんな感じにしました。フォントは7セグ用を使うとなんとな~くそれっぽくみえますよね。

イメージ 5

■ガジェットの検証(動画)1回目

実際にプリウスに乗車してタクシーメーターの雰囲気を動画で撮影してプレゼンで再生したらいいよね。
ということで、撮影にチャレンジすることにしました。

実際に一番乗り?でプリウスに乗り込み結合テストを実施してみます。

「へへへ、疑似データで十分動いているからバッチリよ~」
テストなんてしなくても大丈夫だけどね~。

イメージ 1

あれ?ううううごか~ん
サーバーに接続できないエラーが多発します。汗

接続を数回やり直すと接続できました。

しかし、実際に10分程度走行していただきましたが、2分間程度で404エラーとなり切断されてしまいます。これが繰り返されます。タクシーは2km走行までは730円(都内)なので、404エラーで切断されるとまた、730円からの開始となるので10分走行しても730円のままという結果となりました。

結合テストやっといてよかった。

でも、なんだろう。Wi-Fiの問題なのか、サーバーの問題なのか、私のプログラムの問題なのか・・・
この時の走行データは、すでにサーバーにアップされているのでそのデータを解析すれば原因を解析することができそうです。

■問題解析タスクが最優先

作業タスクで、この問題解析が最優先課題となりました。
まずは、この走行したときの時間データを取得してプログラムが動くように改良する必要があります。
現在のプログラムは、現在(Now)のデータでした動作することができません。
過去の時間を指定しても動作検証できるように修正します。

修正後に、問題の発生する時間にあわせて検証してみると404エラーになる現象にたどり着きました。
どうやら、WebAPIで指定した時刻間のデータを要求しているのですが、その指定した時刻内のデータが一つもない場合には、404エラーとなっていました。

そうか!サーバーが見つかっていても、データが見つからない場合は404を返却する仕様なのね。

イメージ 2

データが無い可能性もあり得るので、取得できない場合はスキップするように修正しました。

それともう一つ問題がありました。

WebAPIで速度を取得していますが、その速度値がNullになる場合が考慮されていませんでした。
思い込みで、速度0だと思っていましたが、Nullが返却されるのでdouble型のパースがエラーになっていた問題も同時に見つけることができました。

これで完璧です!

■中間プレゼン資料

作業していると時間の経過はあっという間です。
中間プレゼンは、プランナーのRさんにお願いしています。

Rさんはパソコンは持ってきていませんが、iPodでプレゼン資料をまとめてゆきます。
昼食の時間には、自分の食べている様子を写真で撮ってほしいと言われ、撮影しました。

イメージ 4

※こちらがRさん。日系ブラジル人の方です。日本語ペラペラ

イメージ 3

ストーリー性を持たせて、メリハリつけて観客を引きつけます。
昼食の写真も、このプレゼンのために撮影したもので、プランナーという立場をネタに周囲の笑いを誘い、周囲を取り込んでゆきます。中間発表ということで、各チームとも発表よりも自分の作業に集中している方がいたのですが、笑いが起こると視線が自然と集まりますから上手い作戦ですね。

実はハッカソンが始まる際のチーム編成の際に主催者が「プランナーが3名集まっても何もできませんから・・・」との注意事項があり、会場の笑いを誘っていました。そのネタをうまく使って「自分はプランナーで食べてばかりいたよ。」というジョークを入れて笑いを誘いました。この辺のユーモア溢れるセンスがいいですね~。

すごいプレゼン慣れしていて見習うべき点があります。
Rさんのプレゼン力に感動しました!

■ガジェットの検証(動画)2回目

中間発表が終了した後に、再度プリウスに乗車して動画撮影できないか?を交渉しました。
最終日に動画撮影を考えていたのですが、スケジュールが埋まっていたのと、明日はプレゼン資料作成に集中したいことを考えると本日中に撮影しておかないと私たちのチームは余裕がないことに気づきました。

中間発表後に撮影を兼ねて再検証を行うことになりました。
実際に移動する前に、後部に搭載して写真撮影してみます。

イメージ 6

おお!なかなかいけるじゃない。
それっぽいですよ!(ニヤニヤ)



チョット残念なのは、プリウスのテールランプは後部ガラスの中央に配置されており角度によりディスプレイが隠れてしまいます。
うん・・・流石にそこまでのレイアウトは考えて無かったな~。

さて次は後続車からの撮影と参りましょうか。
なんと、2台構成でタクシーメーターを搭載したプリウスを後続車が追いかける構成で動画撮影を行うことにしました。
(そんな撮影を行いたいことをお願いしておきました。トヨタIT開発センターの方ありがとうございました!)



※2分に編集しました。残念ながら7セグの明るさが足りずがっかりしている本人の声が入っております。

撮影を開始してみると問題が見えてきました。

■撮影で見えた問題と課題

1.先にもありましたが、車種によって表示できる位置を選ぶ。プリウスは厳しい。
同様に、後部ガラス面への固定化の仕組みを考えないと厳しい。

2.7セグの明るさが弱い。これは、良かれと思いとりつけたアクリルプレートがあだとなりました。最近のクルマは基本的に後部ガラスにスモークが少し入っています。勿論プリウスも・・・。アクリルプレートと2重になることで7セグの明るさが落ちてしまいます。アクリルは両面テープで固定しているので、剥がすと汚くなるので今回はこのまま撮影しました。
また、中央のブレーキランプが強いので7セグの赤が負けてしまいます。

なので、ブレーキを踏んでいる状態だと、7セグが見えづらいという状況になってしまいました。
信号待ちの停止中の状態から、スタートする際にブレーキが解除され、その瞬間に頑張れば7セグが見えるような状況です。
この辺もやってみないと分からなかった。

3.走行後に気づいたのですが、この撮影の際のアプリケーションのモードが、リアルな時間でなく別な過去の時間指定で走行していました。(動作モードの指定を間違えていました。折角動画撮影の時間を作っていただいたのに・・・申し訳ありません。)
動画の中で、1,180円しか・・・と言っているのはモードを間違えた私が悪いのです。失礼しました。

■これは良かった

逆に良かったことは、漢字のLEDは明るく見やすい!文字として認識できます。可視性ばっちりです。

■さあ明日は最終日

動画は、ちょっと期待外れな感じになってしまいました。
もっとギラギラ7セグの数字が光って、ガンガン数字が上がる様子を動画で撮影することができると思ったのに・・・
まあ、それでも課題が見えてきましたから、最終日に向けてやれるところまでは頑張りましょう。
ということで撮影終了後には、そうそうに片付けして帰宅しました。

■今日の夜も長いよ

私には残された課題があります。空車プレートパタパタと非ネット対応が・・・残っております。

パタパタは、空車プレートにサーボのギヤ?を両面テープで張り付けすればデザインはOKです。

イメージ 7

後は電源問題ですが、手持ちでもう一本のモバイルブースターがあるのでそれを別電源として付けたらなんとか動きました。
後は角度を微調整して、直角にOn/Offするようにしました。

イメージ 8

※本来携帯充電用ですが、私は携帯用に使ったことがありません。マイコンの電源用にすっごい便利です。Arduino持っている方はデモ用に一つ持っておいて損はないでしょう。2,000円弱で購入できますし・・・こんなタイプでも1000mAも供給できます。

非ネット対応は、先ほどの約10分データの1秒毎の速度を取得しておきます。
取得したデータは、配列で定義しておきます。
また、デモでは数字のカウントがあまり動かないと楽しくないので、100倍速で動作するモードと、ボタンを押すと一気に大量課金するボタンを設けました。折角1億円までカウントできるカウンターですから・・・(笑)

イメージ 9

※1秒毎の速度データ配列です。0はストップということですね。

ああ、なんとか動かせそうな気になりました。
基本的に作れるものはなんと作りました。残すはプレゼン資料とプレゼンです。
おやすみなさい。

次の記事
Day3(9/21)