この記事はSpresense Advent Calendar 2025の1日目(12/1分)です。
この記事は何?
CQ出版社から発行されたトランジスタ技術2025年7月号 ソニーの超小型コンピュータ Spresenseの第4章 メイン・コア&サブコアの連携動作プログラム 猫まっしぐら!ランダム猫じゃらしロボットを執筆しました。
この記事では執筆した章を紹介します。
ランダム猫じゃらしロボットとは?
ランダム猫じゃらしロボットの動画・写真があるので以下Xのポストを見てください。
Spresenseがモーターを駆動し、モーラー(猫じゃらしのようなおもちゃ)をランダムなスピード・方向に動かすことで猫の興味を引き、遊びます。
動画・写真の猫はうちの飼い猫です。積極的に絡んではいませんが興味は持ったように見えました。
記事の紹介
製作全体の流れがざっくりわかる
執筆した章はロボットの製作手順とプログラムの解説を書きました。
ロボットの製作手順
製作手順は製作全体の流れがわかるよう次の構成としています。
- ハードウェア構成
- 組立て
- 各部品の取り付け
- 配線
ロボットの組立て、配線もそこまで複雑ではないと思います。
プログラムの解説
プログラムの解説は次の構成としています。
- 開発環境の構築方法について
- メインコアのプログラムの解説
- サブコアのプログラムの解説
開発環境の構築
Spresenseの開発環境は
- Arduino IDE
- Spresense SDK
の2種類がありますが今回のロボットはArdiono IDEで開発します。
コアの役割分担
今回のロボット制御プログラムはメインコアとサブコア11で役割分担し実現しています。
メインコアとサブコア1の処理内容についてそれぞれ紹介しています。
比較的観点にマルチコアプログラミングができると思います。
製作後に感じた課題/感想
章の最後には製作後に感じた課題・感想を描きました。
感想として製作したロボットは猫じゃらしロボットだけではなく、他のロボットに転用できる汎用的なものになったと思いました。
最後に
以上、執筆記事の紹介でした。
Spresenseを使うことで各コアに機能割り当て、負荷分散、連携動作でマルチコアプログラムが比較的容易に実現できると思います。
もし気になったかたは書籍をチェックいただければと思います。
最後まで読んでいただきありがとうございました🙇♂️
-
Spresenseのマイコン(CXD5602)はメインコア、サブコア1〜5の合計6つのマルチコアの構成となっています。 ↩