2026年6月30日
000-3.コラム~Tech Spotlight~ 第3回「MATRIX」を使ってみる
コラム~Tech Spotlight~ではそのときどきに気になるテーマにスポットライトをあてたコラムをお届けします。
MATRIX Robotics社の「MATRIX(マトリックス)」というロボットの開発キットを簡単に紹介します。MATRIXの詳細については次のWebページを参照してください。
https://afrel.co.jp/product/matrix/
(文/松原拓也)
◆セットの概要
◆ ファームウェアの更新
ロボットの組み立てが完了するとこうなります。ケーブルは100円ショップの結束バンドで束ねました。
メーカーの説明書ではカラーセンサーを水平方向に固定していますが、ここではアーム開閉用のサーボホーンにカラーセンサーを固定しています。これによって、カラーセンサーの角度を0~90度の範囲で変更することができます。
ロボットの頭脳として機能するのがコントローラ(MATRIX Mini R4 Controller)です。コントローラには各種ポートが搭載されていて、センサーやモーターを接続することができます。コントローラは「Arduino UNO R4 WiFi」と互換性があり、サブCPUとして「STM32F103」を内蔵しています。
プログラミング環境は「MATRIXblock」と「Arduino IDE」の2種類があります。「MATRIXblock」はMATRIX Robotics社独自の開発環境です。ブロック型のプログラムを採用しているので、親しみやすいです。 一方、「Arduino IDE」はArduino公式の開発環境です。Arduino言語(実質的にはC++)を採用しているので、より高度なプログラムを作成することができます。
ここでは「MATRIXblock」を使うことにします。次のWebページから入手することができます。
◆ サーボモーターを動かす
OLED(有機ELディスプレイ)にバッテリの電圧を表示するプログラムを作ってみました(battery_check.mbr4)。
コントローラはUSBポートかDCジャック(バッテリ)から給電します。USBポートのみで給電する場合はモーター類を動かすことはできません。モーターを動かすにはバッテリが必要です。バッテリは「18650リチウムイオン電池×2本」と「単3形電池×6本」のどちらかを利用可能です。セットには2種類の電池ボックスが付属します。
バッテリの電圧は6V~24Vと定められています。筆者の場合は単3形のニッケル水素電池(エネループ)を使用しました。この場合、バッテリの電圧は1.2V×6本=7.2Vです。バッテリの残量が少ない状態でモーターに負荷が加わると電圧が6Vを下回ってしまう場合があります。使い捨てになるデメリットがありますが、電圧を考慮すると、アルカリ電池を使った方が安心です。マンガン電池は流せる電流が少ないので使えません。
バッテリをコントローラに接続して、プログラムを実行すると、7.78Vと表示されました。電池ボックスのスイッチを忘れずにオンにしましょう。この機能を使えば、誤差はありますが、バッテリの残量を知ることができます。
使ってみて気が付きましたが、コントローラの電源をオフにした状態でもバッテリを少しずつ消耗してしまいます。長時間使用しない場合には、電池ボックスのスイッチをオフにするか、DCジャックから外しておきましょう。
◆ DCモーターを動かす
ここまで紹介した技術を組み合わせて、ロボットでブロックをつかんで運ぶプログラムを作ってみました(catch_block.mbr4)。アームでつかみやすくするため、ブロックは「Tの字型」にします。
プログラムを見やすくするため、アームの制御はマイブロックで行っています。マイブロックの引数はサーボモーターの角度です。
プログラムを実行すると、ロボットは15cm前進して、カラーセンサーでブロックの色を読み取ります。続いて、アームでブロックをつかんで持ち上げます。さらに15cm後退してから、ブロックを降ろして放します。最後に、OLEDにブロックのカラーIDを表示します。
アームは2本指のうち片方だけが動く機構になっています。そのため、動かない方の指がブロックに衝突してしまうミスが多く発生します。ブロックが誤って衝突しないようにプログラムやアームの機構を改良すると良いと思います。
以上で「MATRIX R4 MissionGo Set」の機能を簡単に紹介しました。 ロボットは「物をつかんで持ち上げる」「色を読み取る」機能を備えていて、競技に特化したロボットだと感じます。性能は大満足です。回路図が公開されていない点が不満ですが、これは仕方ないことのようです。思えばSPIKEプライムも回路図は非公開でした。ユーザーが頑張ることで、技術情報のギャップを埋められるかもしれません。
今回作成したプログラムをGitHubで公開しています。
組み立てとプログラムを実行中の様子
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。











