マルチコア・アプリケーション実践開発ガイド|センサーからのデータを複数のサブコアで多段に解析
今回は、産業向けアプリケーションのPoCをイメージし、SPRESENSE SDKに同梱されたサンプル・アプリケーションである「マルチコアを使った録音プログラム(Audio Recorder)」を改変し、「自身で設計した信号解析アルゴリズムを実行するサブコアと連携」、高速かつ高精度に周辺状況を分析できるアプリケーションの開発方法を紹介いたします。
今回は、産業向けアプリケーションのPoCをイメージし、SPRESENSE SDKに同梱されたサンプル・アプリケーションである「マルチコアを使った録音プログラム(Audio Recorder)」を改変し、「自身で設計した信号解析アルゴリズムを実行するサブコアと連携」、高速かつ高精度に周辺状況を分析できるアプリケーションの開発方法を紹介いたします。
SPRESENSEは汎用CPU(サブコアであるCortex-M4)上でWAVやMP3を処理できる「ソフトウェア・エンコーダ/デコーダ」機能を提供しています。ソフトウェア・エンコーダ/デコーダをサブコア上で実行することにより、システムの根幹を担うメインコアに負荷をかけることなく音声処理を実現。また、サブコアは汎用CPUであることから、WAVやMP3の処理をしていない間でも他のタスクを処理するコアとして活用することができます。
今回の初心者講座では、サブコアの内部状態や処理対象となったデータの断片を、順序付けてメインコアへと送出できる『リングバッファ』について紹介いたします。なお、今回紹介する機能に対応したC言語のソースコードはGitHubにて公開しています。解説だけでなく、ソースコード・リーディングも活用し、コア間の連携方法への理解を深めましょう。
今回の初心者講座マルチコア編では「関数を呼び出したから、動いた」よりも、さらに一歩先へと踏み込んだ、マルチコアの真髄にフォーカス。サブコアがプログラムを開始する仕組みから、データの交換や同期(コア同士の連携)の方法、プログラムを高速化する際に注意すべきポイントなど、様々な設計技術を紹介いたします。
今回の初心者講座では、どのように処理するか・並列化していくかを学ぶ前段階として、どのようなデータを(What)、どのようにして(How)どこに収集すべきか(Where)を解説いたします。今回の内容を学習することで、IoTシステムの要となる「画像データ」や「音声データ」といったマルチメディアデータの取り扱い方法への理解も深まるでしょう。
深層学習による機械設備の異常検知を研究している岐阜大学の速水・田村研究室。モノづくりの現場から採取した大量のデータを、GPUやクラウドといった高性能な演算リソースを活用して日々解析をしている。彼らがエッジデバイスとして着目したのは、ソニーのIoT向けボードコンピュータ「SPRESENSE™」だ。本記事では、研究室が取り組んでいる高度な研究概要をはじめ、速水教授が特に注力する次世代の技術者の育成方法、さらには、そんな彼らを唸らせたSpresenseの魅力に迫ってみた。
100社あれば100通りのカスタマイズ要求が生まれるIoTビジネスの時代をリードするため、技術のソニーが掲げた戦略は、オープンコミュニティの最大活用。これまでに培った技術力を集約し、人工衛星などの極地環境にも対応できるIoT向けボードコンピュータ「SPRESENSE™」をリリース。ソフト/ハード/開発環境のすべてを備えたオープンプラットフォームでコミュニティを構築し、世界中の技術者を魅了し製品を昇華させる。これまでにない、まったく新しい形でIoTを成功へと導く、ソニーの掲げた新戦略に迫る。
ランニングを楽しむ人が増える中、AIをまとったユニークなランニング・シューズが登場した。スタートアップのno new folk studio(以下、nnf)がSTマイクロエレクトロニクス(以下、ST)のSTM32マイコンを使って開発した「ORPHE TRACK」である。ソールに組み込んだセンサのデータをマイコン上の組込みAIで解析し、ランニングフォームのクセなどをスマートフォンアプリで教えてくれる。両社に開発の経緯や組込みAIのメリットなどについて訊いた。
IoT時代を迎えさまざまな機器や装置がネットワークに接続されるようになった今、模倣品などがシステムに混入したときの性能低下やデータ漏洩などが新たな問題として浮上してきた。こうした課題に対して、安心できる社会の構築を目指す東芝デバイス&ストレージとサイバートラストは、固有鍵を埋め込んだRoot of Trust対応マイコンと、機器や装置の本物性を電子的に認証するトラスト・サービス「Secure IoT Platform(SIOTP®)」を提供する。