~Maker Interview~

メーカのHOTなトピックス、今最も注力している製品にフォーカスし、
開発現場や製品企画担当の方々に戦略や今後の方針を語っていただくコーナー。
※最新の業界動向をお届けします。

コア – 産業機器などにそのまま組み込めるマイコンボード、画像処理が得意なDRPの活用で「ラズパイ」と差異化

八木澤氏・有山大祐氏・鈴木氏

 電子工作などの趣味用途や電子機器のプロトタイピング(試作)用途で爆発的な広がりを見せるシングルボード・コンピューター(マイコンボード)。しかし現在では、シングルボード・コンピューターを使って作成した装置を、そのまま産業用IoTシステムなどの最終製品に組み込むことが当たり前になりつつある。

 組み込みシステム・ベンダーのコアは、こうした最終製品用途で主に使われることを想定したシングルボード・コンピューターの新製品「GR-MANGO」を販売中だ。マイコンには、ルネサス エレクトロニクスの「RZ/A2M」を採用した。RZ/A2Mの最大の特徴は、CPUとして「Arm Cortex-A9」を搭載するほか、動的再構成が可能なプロセッサー「DRP(Dynamically Reconfigurable Processor)」も集積している点にある。コアによると、「GR-MANGOは、業界で最も低価格でDRPに触れられるMbed対応ボード」という。

 そこで今回は、GR-MANGOがターゲットとするユーザー/アプリケーションや、DRPを使うことで得られる効果、DRPの具体的な利用方法などについて、同社の開発部門に所属する八木澤氏と有山氏、販売部門に所属する鈴木氏に話を聞いた

(聞き手:山下勝己=技術ジャーナリスト)

「GR-MANGO」の特徴を教えてほしい。

42V入力、3.5V出力の同期整流方式の降圧型DC-DCコンバーターIC

図1: GR-MANGO
外形寸法は85mm×56mmで、「Raspberry Pi 4(ラズパイ4)」との互換性を確保した。

高いスイッチング周波数でも高い変換効率を維持

図2: GR-MANGOの3つの特徴

鈴木 GR-MANGOは、ルネサス エレクトロニクス(以下、ルネサス)のマイコン「RZ/A2M」を搭載したシングルボード・コンピューターである(図1)。特徴は3つある(図2)。1つは、当社従来品である「GR-PEACH」や「GR-LYCHEE」などのGRシリーズに引き続き、「Arm Mbed」プロジェクトに参画していること。2つ目は、RZ/A2M に動的再構成が可能なプロセッサー(DRP)が集積されているため、画像処理能力がCPU比で10倍以上も高いこと。これはAI処理を強力にアクセラレートする用途でも活用できる。3つ目は、「Raspberry Pi 4(ラズパイ4)」を意識して開発したため、ラズパイ4に向けたカメラ・モジュールやケース、HAT(Hardware Attached on Top)などが使えることである。

GR-MANGOの仕様はどのように決定したのか?

鈴木 GRシリーズは、ルネサスと共同で開発している。ルネサスは「がじぇっとるねさす(がじぇるね)」というコミュニティーを運営しており、そこにさまざまなユーザーが参加している。GR-MANGOは、そのコミュニティーの中にいるプロデューサーと呼ばれる人たちを集め、「どういうボードが必要なのか」「どういうガジェットを作りたいのか」「HDMIやLANは必要なのか」などの質問に対する回答を得て、それらを集約するかたちで仕様を決めた。

GR-MANGOがターゲットとするのはどのようなユーザーなのか?

鈴木 3つのタイプのユーザーを想定している。1つ目のタイプは、とにかく製品を早くリリースしたいと考えているユーザーである。がじぇるねのウェブページには、ライブラリやサンプルコードが掲載されており、これらを使って開発を迅速に進められる。2つ目のタイプは、シングルボード・コンピューターを製品にそのまま組み込んで出荷することを検討しているユーザーである。GR-MANGOは環境試験をクリアしており、その結果をホームページで公開している。このため、産業機器などにそのまま組み込んで製品化することが可能だ。3つ目のタイプは、費用を抑えたいと考えているユーザーだ。GR-MANGOは1枚から購入できるうえに、1万1900円と安価である。しかも、開発環境や回路図なども無償で公開しているため、低いコストで開発できる。

産業機器などへの組み込みが可能なのか?

鈴木 産業機器であれば大丈夫。ただし、車載機器や医療機器には対応していない。

「業界で最も安価なDRPに触れられるというMbed対応ボード」とは、どのような意味なのか。DRPに対応したMbed対応ボードは、ほかにも存在するのか?

鈴木 RZ/A2Mを載せたシングルボード・コンピューターは、ほかにも存在する。しかし、いずれも比較的高価だった。ルネサスもRZ/A2Mを載せたボードを製品化しているが、価格が高いうえにMbedに対応していない。つまり、これまではDRPを評価しようとすると、大きな投資が必要だった。GR-MANGOを使えば、お手頃な価格でDRPを評価できる。

画像処理や得意とするDRP

DRPとはどのようなものなのかを教えてほしい。

図3: DRPの位置付け
動的再構成が可能なプロセッサー「DRP(Dynamically Reconfigurable Processor)」の位置付けを表した図である。CPUとFPGA/ASICの中間的な存在である。

有山 DRPは、CPUとFPGAの中間的な存在である(図3)。CPUほどの柔軟性はなく、FPGAほどの高速性はない。しかし、柔軟性と高速性を高いレベルでバランスよく兼ね備えている。

DRPは、CPUからの命令を受けて動作する。画像処理関連であれば、「2値化変換を実行してください」や「画像サイズ変換(リサイズ)を実行してください」などの命令である。つまり、CPUとは独立したもう1つCPUがあるかのように動作する。このため、CPUがアプリケーションの制御を実行しているときに、それと並行してほかのタスクをDRPで実行できる。

しかも、DRPで実行する処理内容は、ダイナミックに(動的に)変更できる。このタイミングでは2値化変換を実行し、次のタイミングではリサイズを実行すると言った具合である。

DRPで処理する内容は、どうやって指定/設定するのか?

有山 DRPに搭載できる処理内容は、ルネサスがライブラリとして公開している。それらをROMに搭載し、CPUにおいてDRPで処理する内容を指定すれば、それが実行される。ROMには、容量が許す限り、さまざまな処理内容を搭載できる。何個までという制限はない。

DRPが得意とするのは、画像処理関連だけなのか?

有山 並列処理が可能なタスクを得意としており、その代表格が画像処理である。このため、行列計算やAI処理なども得意なはずである。ただし現時点で、ルネサスが公開しているライブラリのほとんどが画像処理関連である。

八木澤 DRPは可能性として、AI処理にも有用である。ただし、DRPのより深い部分はルネサスしか分からない。DRPの内部には、階層構造の演算回路があり、そこでタイルと呼ばれる要素が6枚ある。DRPで処理する内容によっては、6枚すべてのタイルを使う場合もあれば、3枚のタイルで済む場合もある。このため、1枚のタイルを使う処理と、2枚のタイルを使う処理、3枚のタイルを使う処理があるとすれば、それらを同時に動作させることが可能だ。

4つのソフト開発環境を用意

ソフトウエア開発環境について教えてほしい。

図4a: 4つのソフトウエア開発環境を用意
GR-MANGOでは4つのソフトウエア開発環境が使える。(a)は、Arm社(Mbed)が提供する3つの開発環境である。OSは、「Mbed OS」を使う。(b)は、4つ目の開発環境で、ルネサス エレクトロニクスが提供するものだ。OSには、「FreeRTOS」を採用する。

図4b: 4つのソフトウエア開発環境を用意

有山 基本的にC/C++言語を使ったプログラミングが必要である。ソフトウエア開発環境は4つ用意した(図4)。1つはオンライン・コンパイラーである。これはArm社(Mbed)が提供するもので、プラウザー上で使える開発環境である。このためローカルのパソコンにファイルサイズが大きい統合開発環境(IDE)をインストールすることなく、プラウザー上でプログラム・コードを書いてコンパイルし、ボードに実装するところまで行える。お手軽に試したいユーザー向けだ。

 2つ目は「Mbed Studio」である。これはGUIを備えた統合開発環境である。デバッグ・ボタンやビルド・ボタンを備えており、エディターやデバッガーの機能も兼ね備えている。3つ目の「Mbed Cli」は、より玄人向けの開発環境である。Cli(Command Line Interface)を使ってコマンドを打ってビルドしたり、好きなエディターを使って組み込み用途向けにビルドしたりしたいユーザーに最適である。

 4つ目は「e2studio」である。前述のMbed StudioとMbed Cliはどちらも、Arm社(Mbed)が提供するツールだが、e2studioはルネサスが提供する統合開発環境(IDE)である。ローカルのパソコンにインストールして使う。特徴は、オープンソースの統合開発環境「Eclipse(エクリプス)」をベースにしている点にある。このため、Mbed StudioとMbed Cliとは使い勝手がまったく異なる。Eclipse を使い慣れているユーザーはe2studioを使うべきだろう。

 さらに搭載されているOSが違う。Mbed StudioとMbed CliはMbed OSだが、e2studioはFreeRTOSを採用している。このため、Mbed OSやMbed系のライブラリを使いたいユーザーはMbed StudioもしくはMbed Cliを選択し、AWS(Amazon Web Services)を利用したいユーザーなどはFreeRTOSが使えるe2studioを選ぶことになるだろう。

オンライン・コンパイラーは、初心者向けという位置付けなのか?

有山 ローカルのパソコンにインストールしなければならないツールだと、設定項目がいくつかあり、それが面倒だとか、ハードルが高いと感じるユーザーはオンライン・コンパイラーが向く。

Mbed StudioやMbed Cliでは実行できるが、オンライン・コンパイラーでは実行できないことが数多くあるのか。

八木澤 オンライン・コンパイラーはデバッグできない。オンラインでコンパイルを実行すると、ローカルのパソコンにバイナリー・ファイルが送られてくる。その後、パソコンにGR-MANGOを接続すると、パソコンはGR-MANGOを外部ドライブとして認識するため、バイナリー・ファイルをその外部ドライブに移すと、書き換えが完了してGR-MANGOが動作し始める。従って、この一連の作業の間にデバッグというインターフェースはない。

有山 記述したプログラム・コードにprintfを追加して、ログ出力でデバッグするしかない。

4つの開発環境はそれぞれ、どのようなユーザーに向くのか教えてほしい。

有山 1〜3つ目は、Arm社(Mbed)が提供しているはオープンソースの開発環境であるため、同社が開発したMbed OSが採用されている。一方、4つ目のe2studioはルネサスが開発した開発環境である。今回採用したRZ/A2Mのほかに、同社が製品化している数多くのマイコンに対応している。ルネサスのマイコンを使い慣れているユーザーはe2studioを利用した経験があるはずなので、RZ/A2Mを載せたGR-MANGOの開発でもe2studioが使いやすいだろう。一方で、Mbed系のマイコンを使い慣れたユーザーは、Mbed Studioが使いやすいと思う。そういった過去の開発経験から、ツール(開発環境)を選択することになるはずだ。

ライブラリは、どこに行けば入手できるのか。

図5: 豊富なライブラリを用意
ライブラリは「GitHub」で入手できる。

有山 オープンソースのソフトウエアなどを公開するサイト「GitHub」で入手できる(図5)。冒頭で、GR-MANGOはラズパイとの互換性があると説明したが、GR-MANGOにカメラ・モジュールと液晶ディスプレイを接続したとき、GitHubで構成されているライブラリを入れておけば、カメラ・モジュールで撮影した映像を簡単に液晶ディスプレイで表示できる。GitHubでは、用途別にライブラリを用意しているので、GR-MANGOを使って作りたいものが明確になっているときは、まずGitHubを見てもらうことになる。

プログラムを書かずにDRPを試すツール

今回、GR-MANGOの発売に合わせて、「GR-MANGO DRP Sketch」というツールの提供を始めている。

有山 当社の製品の魅力をより感じてもらうことを目的に開発したのが「GR-MANGO DRP Sketch」というツールである。

 GR-MANGOの最大の特徴は前述の通りDRPにある。現在、ルネサスから数多くの画像処理用ライブラリが提供されている。そのためGR-MANGOは、これらを使って何らかの画像処理を実行し、その演算結果から何らかのアプリケーションを動作させるという用途で使われることが多い。ただし、前述の1〜4つ目の開発環境を使った場合、C/C++言語によるプログラム・コード開発が必要になる。もちろん組み込み開発者であれば問題ないのだが、ユーザーによってはC/C++言語の習得難易度が高いと感じる人もいる。

 とりわけ画像処理が必要なユーザーは、PythonやOpenCVの知識は豊富だが、マイコン向けプログラム開発には二の足を踏んでしまうケースが少なくない。この問題を解決したい。そこで開発したのがDRP Sketchだ。これは、まったくプログラム・コードを書かずに、ブロックを並べるだけでDRPの機能を試せる「ノーコードツール」である。

例えば、どのような使い方ができるのか。簡単に教えてほしい。

図6: 「GR-MANGO DRP Sketch」のデモンストレーション

八木澤 カメラ・モジュールを接続したGR-MANGOとパソコンをつなぎ、DRP Sketchを立ち上げて、カメラ・モジュールで撮影した映像を見ながら処理方法を最適化するデモを使って説明しよう(図6)。DRP Sketchでは、さまざまなブロックを用意している。例えば、映像のグレースケール化やエッジ検出、ボカシ、シャープネス、画像サイズ変換などのブロックである。各ブロックのパラメータもユーザーが設定できる。ブロックを追加したり、パラメータを変更したりすると、それらの情報は、すぐにGR-MANGOに送られて実行される。こうした作業をプログラム・コードで実現しようとすると、プログラムを記述してコンパイルし、GR-MANGOに書き込むといった作業が必要になるが、DRP Sketchを使えばほぼリアルタイムに実行できる。

DRP Sketchのブロックは、何個用意しているのか。

八木澤 現時点では約10個。将来的には30個ぐらいまで増やす予定だ。

DRP Sketchの仕組みを簡単に説明してほしい。

図7: 「GR-MANGO DRP Sketch」の仕組み

有山 DRP Sketch では、LinuxやWindowsなどプラットフォームを選ばず動作するスクリプト言語「Python」をマイコンでの動作に最適化したオープンソースのソフトウエア環境「MicroPython」を活用している(図7)。GR-MANGOにはMicroPythonのランタイム(Runtime)を搭載しており、DRP Sketchから送られてきたPythonコードを単純に上から順番に一行ずつ実行する。PythonコードはRAMに展開して実行している。ROMを書き換えていない。このため、極めて高速に実行できる。

 このほかDRP Sketchを使わなくても、PythonコードをGR-MANGOに送ることもできる。例えば、コード・エディター「Visual Studio Code」などを使ってPythonコードのファイルを作成してSDカードに保存し、これをGR-MANGOのSDカード・スロットに入れて読み込ませてPythonコードを実行する方法である。DRP Sketchは、ブロックの組み合わせによるプログラムしか記述できない。しかし、この方法を使えば、より込み入ったプログラムを書くことができる。

DRP Sketchを開発した目的は何か?

有山 DRP Sketchを使えば、非常に簡単にプログラミングできる。このためGR-MANGOやDRPの特徴を知ってもらう入り口だと考えている。最初は、GR-MANGOやDRPを使って、「こんなことができるんだ」ということを知ってもらう。そうすれば、その中から「もう少し複雑なことを実現してみたい」という人たちが現れるはず。そうした人たちに向けてMicroPythonの環境を用意した。これを使えば、より複雑なアプリケーションを作成できる。

今後、DRP Sketchはどのように進化させる予定なのか?

図8: 「GR-MANGO DRP Sketch」の言語の展開
今後、画像処理の結果をネットワークで送信したり、I/O制御したりするなどの実践的なプログラミングを可能にする予定である。さらに機械学習(AI)処理を可能にするブロクを用意する考えだ。

有山 DRP Sketch向けライブラリを拡充していく予定だ。しかし、それだけだと画像処理のタスクしか実行できない。そこで画像処理の結果を使って、何らかの処理を実行したり、ネットワークで送信したり、I/O制御したりするなどの実践的なプログラミングを実践できるように育てていきたい(図8)。

ラズパイとは協調関係

ルネサスは「Lab on the Cloud」というサービスを展開しているが、GR-MANGOは対応しているのか。

図9: 「Lab on the Cloud」
ルネサス エレクトロニクスが提供する「Lab on the Cloud」というサービスである。遠隔地からブラウザーを介して、クラウド上に置かれたシングルボード・コンピューターに触ることができる。

有山 「Lab on the Cloud」は、ルネサスが提供しているサービスで、クラウド上に置かれたシングルボード・コンピューターにブラウザーを介して遠隔地から触ることができるというもの(図9)。クラウド上でプログラムを動かして、煙を探知したり、アラームを出したり、LEDを光らせたりなど、シングルボード・コンピューターを実際に動作させられる。その様子はブラウザーで確認できる。GR-MANGOも、Lab on the Cloudに対応する予定である。

ただし、このサービスではDRP Sketchは使用できない。MicroPythonが動くGR-MANGOがクラウド上に置かれている。

GR-MANGOが狙う具体的なアプリケーションは何か?

鈴木 画像処理が必要な電子機器である。実際にすでに、あるカメラ・メーカーが採用を検討している。

GR-MANGOはラズパイと比較されることが多く、確かにCPU性能だけを比較すればラズパイの方が優れている。しかし、ラズパイを購入して、実際に評価してみて「使える」と判断しても、量産時に迷子になってしまうケースが少なくない。ラズパイに搭載されているLinux搭載のSoCは通常購入できず、まったく同じシステムを作れない可能性が高いからだ。しかも、Linux OSを搭載するシステムは大掛かりであり、設計や検証に多くの時間や手間がかかる。

一方で、GR-MANGOに搭載されているマイコンなどの部品は、いずれも1個から購入できる。GR-MANGOの回路図も無償公開しており、FreeRTOSはルネサスがサンプルを公開している。このため量産にスムーズに移行できる。このほかGR-MANGOにはリアルタイム処理に適しており、消費電力が少ないというメリットもある。

つまりラズパイは、GR-MANGOのライバルという位置付けなのか?

鈴木 ライバル関係というよりも、協調関係の方が正しい。ラズパイはすでに多くのユーザーを抱えている。実際に、ラズパイを製品に組み込んで、その性能や品質に満足しているユーザーは多い。そうしたユーザーはラズパイを使った方がいい。しかし、ラズパイでは十分に満足できないユーザーも、産業機器分野では少なくない。GR-MANGOはそうしたユーザーに届けたい。

米NVIDIA社が提供するシングルボード・コンピューター「Jetson」との関係はどう考えているのか?

有山 JetsonはAI処理を得意とする。しかし、GR-MANGOではまだAI処理向けライブラリは用意していない。GR-MANGOでは、AI処理の入力に適したデータ形式に高速変換する用途でDRPを活用すること想定している。もちろん、AI処理そのものにも使えるが、AIモデルを載せるにはROMやRAMの容量が少ない。そこはGビット・レベルのメモリーを搭載しているラズパイやJetsonには太刀打ちできない。従って、「マイコン向けOSで画像処理やAI処理を実現できる」こと。それがGR-MANGOの特徴だろう。

やはりGR-MANGOは、最終製品の組み込みを目標としているユーザーが想定顧客になると考えてよいのか?

有山 その通りである。最終製品への組み込みに向けた取っ掛かりがGR-MANGOなどのGRシリーズである。ルネサスのマイコンを使って製品開発を検討しているが、イチからボードを起こしている時間はない。だからといってルネサスが販売している評価ボードだと、機能が豊富なため価格が比較的高い。そこでGRシリーズの出番になる。オープンソースであり、ソフトウエア環境が搭載されており、価格が比較的安いからだ。スモール・スタートを切りたいというユーザーにはGRシリーズは最適だ。その中で、RZ/A2Mの強みを生かした電子機器を作りたいと考えているユーザーにGR-MANGOを使ってほしい。

製品一覧

本記事で紹介しておりますGR-MANGOはチップワンストップで販売中!
さらにその他GRシリーズも取り揃えておりますので、是非お試しください!