ユカイ工学に聞く、スタートアップが知っておきたいコト
ユカイ工学CTOが語るBluetooth/Wi-Fiを使用する製品開発で押さえるべきポイント
製品開発において、スマートフォンやパソコンとワイヤレスで通信できるBluetoothやWi-Fiの実装は技術者を苦悩させるポイントの1つ。過去の知見が限られるスタートアップであればなおさらだと思います。今回は無線通信技術を使った製品開発で押さえるべきポイントを、前回に引き続き、ココナッチやBOCCO、iDollなど通信技術を搭載するコミュニケーションロボットを開発し続けてきたユカイ工学CTO鷺坂さんに伺いました。(取材:桜庭康人、越智岳人 文:相川賢太郎)
2007年12月、東京大学大学院(機械情報専攻)在学中に、当時チームラボのCTOであった青木俊介氏と共にロボティクスベンチャー、ユカイ工学を創業。2012年に東京大学ISI Labで書き上げた研究論文「皮膚の変形に追従する高密度触覚センサグローブの開発」で日本ロボット学会研究奨励賞を受賞。2014年に東京大学大学院博士課程を満期退学し、現職に至る。得意とする、回路設計や電子機器のファームウェア開発といった電気技術、有線や無線での情報通信技術を生かし、これまで十数件の開発プロジェクトに携わる。現在は、コミュニケーションロボットのBOCCOや、音声に合わせて動くロボットのiDollなど、ユニークなアイデアロボットやプロダクトのソフトウェア開発、量産工程開発に従事している。
BluetoothとWi-Fiチップを選ぶポイント
BluetoothやWi-Fiチップにはそれぞれ規格やバージョン、機能によってさまざまな種類が存在します。ユカイ工学が2015年にリリースしたBOCCOにはBluetoothとWi-Fi両方のチップが搭載されていますが、一体どのような基準で採用しているのでしょうか?
「性能やコストで選ぶのが一般的ですが、BOCCOは開発期間を縮めたいという意図もあって、過去の知見や実績の多いものを基準に採用しています。konashiで使っていた、BLE(Bluetooth Low Energy)やLinux OSを駆動できるようなWi-Fiチップを使っています。
BLEは過去に使った経験があるため、性能は熟知していますし、Wi-FiチップはLinux OS対応ということもあってスクリプトやRuby、Pealなどプログラム言語が簡単に使えるという点や、過去の知見や実績が多いことから採用しました」
では、konashi開発時にはどのような基準で採用したのでしょうか?
「これも開発期間をいかに短くできるか? を基準に選びましたね。Bluetoothだけでも数十社がチップを出していて、一度プログラムを書き込むと二度と書き換えられないものや、Bluetooth経由で何回でも書き換え可能なものなど、それぞれ機能が違います。同じBLEでもSDKのクセがチップごとに異なり、コード量は多いけど細やかな制御ができるものもあれば、高度に抽象化されているものもあります。サイプレスの『WICED』は簡単な動作であれば数十行のプログラムだけで済んでしまうというコーディング量の少なさと、アンテナ内蔵による設計の簡単さが採用の決め手になりました」
スタートアップは大手企業とは資金力や労働力が劣るため、細部にこだわればこだわるほど、開発期間が長くなってしまいがちです。確かに、BluetoothやWi-Fiチップ選びを、性能によって検討することは大切です。しかし、スタートアップとしてプロダクトを作り続けていくためには「いかに開発期間を短く、過去の知見や実績を使い、製品の性能を満足できるものに仕上げられるか」その妥協点を見つけ、それに見合ったBluetooth、Wi-Fiチップを選ぶことが大切なようです。
BluetoothやWi-Fiの使うデバイスで気をつけるポイント
BluetoothやWi-Fiを扱う上で、省電力化は重要です。なぜなら、1回の充電で長時間稼働できるかが商品の訴求力にもつながるからです。
しかし「消費電力についてはほぼ部品で決まってしまうので、低消費電力をうたうマイクロコンピュータを積極的に使う程度ですね」と鷺坂さんは話します。むしろ、押さえるべきは別のポイントだと言います。
「実際の稼働時間を精度良く見積もることを見落としがちなんですよね。電池の電圧って定格1.5Vと書かれているので、誰でも1.5Vが常に流れているものだと思いますよね? でも実際に測ってみると最初は1.6Vで、寿命が近くなると1Vくらいの電圧になってしまうんです。その間の消費電力を測って、電流で容量を割れば電池による稼働時間が求まると思うのですが、ものによっては電圧が高い時に流れやすかったり、その逆だったりします。もちろん回路自体が悪い場合もあるんですけどね。そのため、弊社ではいくつか電圧を設定して、それぞれの電流を測り、時間的に変化した時の寿命を計算するようにしています。そこがポイントですね」
このように、消費電力を下げることだけでなく、実際の稼働時間を精度良く見積もる作業が大切なようです。
BluetoothやWi-Fi通信を使った製品開発でつまずきやすいポイント
最も技術者を悩ませるのがBluetoothやWi-Fiチップの実装だと鷺坂さんは言います。どちらも使用しているBOCCOではいったいどんな苦労があったのでしょうか?
「BOCCOは、初期設定時に自宅のWi-Fiネットワークに接続しなければなりません。その際にどのWi-Fiにつなぐのか、パスワードは何なのか、スマートフォンから設定できるようになっています。情報伝達の経路としてはまず、スマートフォンからBluetooth、Wi-Fiチップといった順番で情報を流し、最終的にWi-Fiチップから家のWi-Fiネットワークにつながります。いわば情報のバケツリレーのような構造です。ここで受け渡しされる情報は、例えば長さが違ったり、意味が違ったり、またはWi-Fi情報ではないものも含まれています。このあたりがつまずきやすいポイントだと思いますね。
例えば弊社では、スマートフォンからBluetooth、BluetoothからWi-Fiという経路で伝達される初期設定データなど、バケツリレーでいう水の部分を担当する人、その水、すなわち伝達される情報を使ってBOCCOの動作制御を担当する人、バケツリレーでいうバケツを担当する人といった具合に、作業を完全に分けることでこの問題をクリアしました。また、もっと突っ込んだ話をすれば、情報が同じ経路しか通らないようなプログラムコードを組んでおくとバグが出にくくなりますね」
BluetoothやWi-Fiなど通信技術はこの他にも、あるスマートフォンでは動くのに、別のスマートフォンでは動かないといったことも頻繁に起こるのだそうです。
「これは対応が難しく、特に複数のメーカーにまたがるAndroid OSの端末では特定のメーカーや機種で動かないという事が起きがちです。まず、網羅的に検証を行い、メーカーやチップセットに不具合と相関があるか確認します。例えば、特定のメーカーの端末で動かないのであれば、そのメーカーが独自に行っているカスタマイズと相性が良くないのだろうといった形で切り分けを行います。
また、iOSでもメジャーアップデートのタイミングで動かなくなる場合があり、iOS8から9になったタイミングで不具合が起き、9.0.1にアップデートすると不具合が解消されるといった事例もありました」
まとめ
いかがでしたか? ハードウェアのものづくりスタートアップにとって通信技術はもはや必要不可欠です。また同時に技術者にとって苦労の多い分野でもあります。鷺坂さんが経験した苦労を語ってくれました。
「過去の知見を使って、いかに短期間にプロダクトの性能を満足できるものにするか」という基準を持つことの大切さや、実際の稼働時間を精度よく見積もることの大切さ、どんな情報に対しても同じ処理をする制御の必要性、など鷺坂さんがこれまでの経験の中で見いだした「押さえるべきポイント」が自分にどう生かせるか、今一度考えるきっかけになったのではないでしょうか?
次回は海外業者へ量産依頼する際に気をつけるべきポイントや、業者の探し方のコツなど、スタートアップの悩みどころ「量産」について詳しく伺います。