ロボットを動かすには、複数のモーターを同時に協調制御するソフトウェアが必要だ。リアルタイムの信号処理、閉ループ制御、多軸の動作補間、フォルト処理——この4つの課題は、産業用アームでも3Dプリンターでも変わらない。米国の組み込みエンジニアRyan Strace氏は「毎回同じ問題を解くのは不合理だ」と考え、これらを抽象化するカスタムのモーションコントロールICと、そのプラットフォームとなる開発ボード「G2 Nano」を設計した。
中心となるプロセッサはNXP製のArm Cortex-M7で、クロックは1GHz。高性能開発ボードの定番であるTeensy 4の600MHzと比べて67%速く、M系列コアとしては現時点で市場最速だという。無線はデュアルバンドWi-Fi(2.4/5GHz)とBluetoothに対応するu-bloxの「MAYA-W1」モジュールを採用し、加速度・ジャイロ・磁気コンパスの3種のセンサー(IMUと磁気センサー)でボード自身の動きも把握できる。サイズは約20×76mm(0.8×3インチ)とガムのパッケージほどの小型で、ブレッドボードに直接挿せる。
デバッグ環境も手厚い。DAPLinkファームウェアを動かすサブMCUがUSB経由でプログラムを書き込み・GDBデバッグを担い、外付けデバッガーが不要だ。ソフトウェアはZephyr RTOSとROS 2対応の組み込みライブラリ「micro-ROS」をネイティブに統合し、MicroPythonも対応予定だ。基板は信号層3、グランドプレーン2、電源プレーン1からなる6層構成で、KiCadで設計したすべてのファイルをGitHubで公開している。
同時進行でカスタムモーションコントロールICの開発も進めており、年内の完成を目指す。このICはユーザーが高水準のコマンドを送るだけで閉ループ制御や補間を内部で処理する設計で、G2 NanoはそのICのテストプラットフォームも兼ねる。現在は基板の製造待ちで、届き次第まずLED点灯とZephyr RTOSの起動から着手し、順次ドライバーやmicro-ROSのポートを進める予定だ。