2025年1月27日
022-1.SPIKE&AIカメラ入門-第9回「色を認識するロボットを作る」
この連載では「レゴ エデュケーションSPIKEプライム(以下、SPIKE)」と「ハスキーレンズ(HuskyLens)」を組み合わせたロボットの作り方を紹介したいと思います。ハスキーレンズとはDFROBOT(Zhiwei Robotics Corp.)というメーカーが開発した特殊なカメラ(AIカメラ)です。このカメラを使って、物体追跡、物体認識、ライン追跡などの機能を備えたロボットを作ってみましょう。この連載では最終的にハスキーレンズをSPIKEプライムのラージハブに接続して動かしたいと思います。
ハスキーレンズの基本的な情報については、メーカーのWikiページを読むことをオススメします。ページのURLは以下のとおりです。
https://wiki.dfrobot.com/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336(文/松原拓也)
◆ 色の学習
◆ 色認識のプログラム
SPIKEアプリのPythonを使ってプログラムを作ります。SPIKEアプリ3は最近(2023年7月現在)になって、Pythonに対応しました。しかし、前バージョンのSPIKE Legacyと互換性がないので、今まで作ったプログラムが無駄になってしまいます。ここではSPIKEアプリ3は使わず、SPIKE Legacyを使い続けることにします。
blocksコマンドを送ると、レスポンスが返信されます。レスポンスはブロックという形式のデータ(X座標、Y座標、幅、高さ、ID番号)が含まれています。物体認識で使ったgetBlocksByIDコマンドはブロックが1つしか存在しませんでした。しかし、blocksコマンドは複数のブロックが存在します。
「Block」というクラスを新たに作り、ブロック情報を管理することにします。さらに「answers」という配列(リスト)を作って、ブロック情報を格納します。こうすると、データ構造が複雑になっても、わかりやすく管理することができます。
◆ 1度に複数の色を認識
このように「複数の色を1度に認識できる」というのが、この機能の凄いところです。これを応用すれば、なにか凄い使い方ができると思います。
今回作成したプログラム(SPIKE Legacy用)
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。