人気のロボット「Robi」はこうして作られた!豊富なI/Fを備えたSTM32F2を採用。

デアゴスティーニが刊行した「週刊『ロビ』」は、世界的に有名なロボットクリエイターの高橋智隆氏がデザインしたロボット「Robi」を組み立てられるということで大きな話題を呼んだ。一説には創刊号は10万部が売れたとされ、人気に応えて「再刊行版」も発売されたほどだ。その「Robi」の "頭脳や筋肉" を開発したのが大阪市にあるヴイストン社である。ARM® Cortex®-M3ベースのST製STM32F2マイコンを使って、全身に組み込まれた20個のサーボモーターを制御し、愛くるしい動きを実現した。同社で開発に携わったお二人にお話を伺った。

メインイメージ

複数枚の基板と20個のモーターで構成

今日はパーソナルロボットの開発と販売を手がけているヴイストンの大阪本社にお邪魔しています。まず、会社の概要を教えてください。

ヴイストン前田:ヴイストンは、大阪大学知能ロボット研究室の石黒 浩教授が開発した全方位センサーの実用化を目的に、石黒先生ご本人(ヴイストン最高技術顧問兼務)、代表取締役社長の大和信夫、および、大阪大学在学中に知能ロボット研究室に所属していた私の三名が中心となって2000年に創業しました。全方位センサーの応用の一環としてロボット開発を自然と手がけるようになり、2003年ころから会社としてロボット事業に本格的に取り組んでいます。

さて、ヴイストンはデアゴスティーニが刊行した週刊「ロビ」に付属する二足歩行ロボットキット「Robi」の開発に協力したそうですね。「Robi」はどういうロボットなのですか?

ヴイストン前田:「Robi」は、ロボ・ガレージの代表で当社の顧問でもある、ロボットクリエータの高橋智隆さんがデザインしたパーソナルロボットです。どこにでもある家電的な存在としてロボットをより身近な存在にしたいという高橋さんの狙い通り、週刊「ロビ」は女性の購入者もかなり多いそうです。

ST山口:「Robi」はSTの展示会用に貸していただいたこともあり、また私自身がヴイストン様を担当していることもあって、とても思い入れのあるロボットですし、こうしたパーソナル分野を対象にした新たなアプリケーションとしても興味を持っています。

ロボガレージの高橋さんとヴイストンはどのような分担で「Robi」を開発したのですか?

ヴイストン前田:高橋さんとは昔から一緒にやっているんですけど、高橋さんがコンセプトやデザインや動きを決めたあとで、ハードウェアとファームウェアを当社で具体化していくというのが大まかな開発フローで、「Robi」も同じです。高橋さんってCADは使わずにバルサ材を削り出すなどして手を動かしながらデザインを作っていくんです。可愛らしい動きも高橋さんが作ります。そのあとで、こういう機能が必要ならこういう基板が要りますね、コネクタはここに付けましょうか、といったところを弊社と高橋さんとで相談しながら回路やファームウェアの開発を進めていきました。ちなみに、高橋さんがロボットの動きを作りこんでいくときの開発ツールも弊社で作って提供しています。

「Robi」の実物を見る意外と小さく、実装スペースは厳しそうですね。

ヴイストン前田:そうなんですよ。高橋さんはいつも形ありきで作りますから、大きさの制約はとても厳しいんです。

どういった部品が中に入っているのですか?

ヴイストン前田:音声認識を除く「Robi」全体の制御を司るマイコンボードのほかに、人感センサーボード、LEDボード、音声認識ボード、リモコンボード、あとバッテリーが入っています。それと、動きデータや音声合成データなどを入れたSDカードも入っています。マイコンボードがこれで、STのマイコン「STM32F205RBT6」のほかに、他社品ですがオーディオアンプや3軸の加速度センサーなどが載っています。

ヴイストン横山:モーターは8bitマイコンを内蔵した小型のサーボモーターを全部で20個積んでいます。両足がそれぞれ5個ずつ、両腕がそれぞれ3個ずつ、頭部が3個、腰が1個です。これらモーターをすべて「STM32F205RBT6」で制御するとともに角度を読み取って、もし制御した角度と実際の角度とが違う場合は人間が触っていると判断する仕組みです。

I/Fの豊富さでSTを選定

STのマイコンを選んだ経緯を教えてください。

ヴイストン前田:弊社では案件ごとにフレッシュな気持ちでしがらみなく部品を選ぶようにしています。「Robi」については、サーボモーターが20個載りますのでUARTのチャネル数がそれなりに必要でしたし、実装スペースの制約から小型パッケージが要求されました。そのほか、動きデータや音声データを入れたSDカードをアクセスするSDIOや、オーディオ信号を出力するためのD/Aコンバータなどが要件としてありました。そうやって辿り着いたのがSTの「STM32F205RBT6」だったんです。

ヴイストン横山:マイコンからサーボモーターにコマンドを送るだけではなく、モーター側から角度データなどを読み取る必要があったので、半二重通信しかできないサーボモーター20個を一本のUARTにすべてぶら下げてしまうと動きのフレームレートを落とさざるを得ないんです。スムーズな動きを実現するにはUARTに接続するモーターの数をチャネルあたり4個から5個に制限しなければならず、5チャネル程度のUARTがどうしても必要でした。

STパルマ:採用してくださってありがとうございます。簡単に紹介すると、「STM32F2シリーズ」は最高120MHzで動作するCortex-M3コアを搭載したハイパフォーマンス・ファミリのマイコンです。内蔵Flashメモリをゼロ・ウェイトとしてアクセスできる独自の「ARTアクセラレータ」を搭載しているほか、Ethernet、SDIO、USBなどの豊富なインタフェースも品種に応じて取り揃えています。ヴイストン様でご採用いただいた「STM32F205RBT6」は、コア周波数最高120MHz、3ユニットの12bit A/Dコンバータ、2チャネルの12bit D/Aコンバータ、4チャネルのUSARTおよび2チャネルのUARTなどを備えた製品で、リアルタイム制御に必要な性能と高い拡張性の両面でご満足いただけたのではないかと思っています。

ST製品の採用実績はあったのでしょうか?

ヴイストン前田:少量を使ったことはありますが大口で採用したのは初めてですね。STはARMマイコンでも有名ですし、まず問題ないだろうと。ただ、少人数でロボットを開発しようとすると回路もソフトもメカも全部一人でこなさないといけませんから、ベンダーに頼らないという文化が社内に根付いていて、サポートがなくてもなんとかなるだろうと(笑)。

ST佐々木:そうなんですよね。私は、お客様の技術サポートを担当していますが、ヴイストン様からはサポートをご依頼いただいた記憶がないんです。お客様のスケジュールに支障がなければ良いのですが、一日でも早く世の中に良い製品をリリースしていただきたいので、次に当社製品をご採用いただいたときは、是非サポートさせてください。

ライブラリを活用して開発効率をアップ

開発環境について教えてください。

ヴイストン前田:プロジェクトによってはEclipseを使ったりもしますが、今回は私がファームウェア開発を担当したということもあって、個人的に使い慣れているgccで直接書きました。いわゆる統合開発環境は使っていません。

ST佐々木:STではお客様の開発負荷を低減するため、「標準ペリフェラルライブラリ」や、オーディオ(MP3、WMA、音声など)やコネクティビティ(USB、TCP/IP、Bluetooth、ZigBeeなど)、グラフィカル・インタフェース、暗号処理、モーター制御などのソフトウェアライブラリを提供していますが、活用いただけましたか?

ヴイストン前田:はい、gccで動くように少し修正して主にI/O周りで使ってます。マイコンを選定するときはライブラリの存在は考慮していませんでしたが、開発を始めてからは「いいリソースがあって助かった」と感じました。

STパルマ:STでは開発環境の強化に取り組んでいて、2014年2月には「標準ペリフェラルライブラリ」を進化させ、ファームウェアパッケージとグラフィカルなコンフィギュレータを組み合わせた「STM32Cube™」の提供を開始しました。また、ハードウェアの開発環境としては、フル機能の評価ボード「EVAL」ボードや、アプリケーションの初期開発に最適な「Discovery」キットに加え、ARM mbed™に対応した「STM32 Nucleo」ボードを新たに展開しています。こうしたツールやボードも機会があれば是非ご活用ください。

高性能なADCやDACがSTの魅力

今回、STM32F2マイコンを使ってみていかがでしたか?

ヴイストン前田:ロボットを制御しようとするとアナログインタフェースが必要になりますが、STのマイコンには高性能な12bit A/Dコンバータと12bit D/Aコンバータが載っているのはエンジニアから見て嬉しいポイントですし、D/Aコンバータに対してデータをDMAで直接与えられるので、音声データを出力するときにプロセッサコアを介在する必要がなく、負荷が重くならずに済んだのも助かりました。120MHzで動くコアの性能を含めて満足しています。

ヴイストン横山:今のところは「Robi」だけの採用ですが、いずれは他のプロジェクトでもSTのマイコンを使ってみたいと思っています。他社のローエンドマイコンのように10bitのA/Dコンバータしか用意されていないと360°/1024単位でしかサーボモーターを制御できませんが、12bitあればより細かい制御ができますから。

STパルマ:STの32bitマイコンは、Cortex-M0ベースの低価格品からCortex-M4ベースのハイエンド品「STM32F4シリーズ」まで、すべてに12bitのA/Dコンバータを搭載しています。また、一部のローエンド品を除いて、12bit D/Aコンバータもほとんどの品種に搭載しています。その点はラインアップ全体でかなりこだわっているところだと思っています。

ST山口:「Robi」には姿勢制御用の3軸加速度センサーが使われているとのことでしたが、STでは、各種モーションMEMSやマルチ・センサー・モジュールを取り揃えていて、これらはワールドワイドでトップクラスのシェアを誇っています。また、気圧センサー、UVセンサー、温湿度センサーなど、環境をセンシングするデバイスも用意しています。マイコンと併せ、各種センサーデバイスについてもご検討いただければ幸いです。

STパルマ:音声認識エンジンもCortex-M4コアを搭載したSTM32F4シリーズで動くソリューションをARMエコシステムのパートナーとともに展開していますので、そちらも是非ご検討ください。

癒し系ロボットなど新分野を強化

今後の展望についてお聞かせください。

ヴイストン前田:これからは人間の話し相手になるような広い意味での福祉ロボットだったり癒しロボットに対するニーズが増えてくると見ていて、「Robi」はもしかしたらそういう存在の先駆けかもしれませんが、いずれにしても音声認識や音声合成などのコミュニケーション機能や、ワイヤレスを含むコネクティビティ機能がキーになっていくでしょう。当社としても新しい分野への取り組みを進めていきたいと考えていますし、そうしたロボットの実現を支援してくれるデバイスの登場にも期待しています。

STパルマ:STM32マイコンはアプリケーションの可能性を広げる性能と柔軟性が特徴であり、お客様の創造力を存分に発揮していただけると考えています。今回、そうしたSTM32マイコンのコンセプトが「Robi」という人気のロボットに結実したことをとても嬉しく思っています。今後とも優れた製品を通じてヴイストン様のアプリケーションを広げるお手伝いをしていきたいと考えています。

本日はありがとうございました。