2025年1月27日
022-1.SPIKE&AIカメラ入門-第2回「AIカメラをパソコンで動かす」
この連載では「レゴ エデュケーションSPIKEプライム(以下、SPIKE)」と「ハスキーレンズ(HuskyLens)」を組み合わせたロボットの作り方を紹介したいと思います。ハスキーレンズとはDFROBOT(Zhiwei Robotics Corp.)というメーカーが開発した特殊なカメラ(AIカメラ)です。このカメラを使って、物体追跡、物体認識、ライン追跡などの機能を備えたロボットを作ってみましょう。
ハスキーレンズの基本的な情報については、メーカーのWikiページを読むことをオススメします。ページのURLは以下のとおりです。
https://wiki.dfrobot.com/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336(文/松原拓也)
◆ 公式のライブラリを入手する

この連載の最終的なゴールは、ハスキーレンズをSPIKEプライムのラージハブに接続して動かすことです。
しかし、いきなり接続して動かすには技術的なハードルが高すぎるので、少しずつ問題を解決していきたいと思います。 今回はメーカー公式のライブラリを使って、パソコンからハスキーレンズを制御してみます。ライブラリはArduino IDE用とPython用がありますが、ここではPython用を使います。MicroPython用のライブラリは存在しませんが、このPython用ライブラリがあれば移植は難なく可能だと思います。

GitHubからライブラリを入手します。以下のページを開きます。
https://github.com/HuskyLens/HUSKYLENSPython
そして、赤いワクのボタンを押して、ソースのzipファイルをダウンロードします。作業用のフォルダを作り、zipファイルを展開して中身をコピーします。必要なファイルは次の2つです。
「huskylib.py」:ライブラリです。
「exampleHL.py」:サンプルプログラムです。

マイクロBのUSBケーブルを使って、ハスキーレンズとパソコンを接続します。ハスキーレンズはパソコン上ではシリアルポート(COM)として認識されます。Windowsの場合、接続したら、「デバイスマネージャ」を使って、COMポートの番号を調べておきましょう。筆者の場合は「COM14」でした。この値は使っているパソコンの状態によって違います。
◆ サンプルプログラムを実行する

フリーソフトのPythonの統合開発環境「Thonny」を使って、プログラムを実行します。Thonnyは公式サイト(https://thonny.org/)からダウンロードできます。 Thonnyを起動したら、「exampleHL.py」を開いて実行します。実行する時、インタプリタ設定は「Local Python3」を選択しておきましょう。
そのまま実行すると、ファイル「huskylib.py」内の「import png」と書かれた行でエラーが出てしまいます。この「png」ライブラリは使わない機能なので、左側に「#」を追加して、コメントにしておきましょう。

最後にファイル「exampleHL.py」の中にある「/dev/ttyUSB1」という記述を「COM番号」に書き換えます。この「番号」というのは、先ほど確認したハスキーレンズのCOMポートの番号のことです。
キーボードの「F5」キーを押すと、プログラムを実行できます。COMポート番号が間違っている正しく実行できません。 実行に成功すると、このようにメニューが表示されます。

物体追跡(Object Tracking)モードを選択します。 学習した物体を認識させます。認識に成功している場合には「Learning:ID1」と表示されます。学習の方法については、前回の記事を参照してください。

シェル・ウインドウで「L」キーまたは「Q」キーを押して、[Enter]キーを押します。すると、このように認識した物体の座標が表示されます。
・「x」は物体のX座標。
・「y」は物体のY座標。
・「width」は物体の幅。
・「height」は物体の高さ
これで、パソコンからハスキーレンズを制御することができました。
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。