2025年1月27日
022-1.SPIKE&AIカメラ入門-第8回「ライントレースロボットを動かす」
この連載では「レゴ エデュケーションSPIKEプライム(以下、SPIKE)」と「ハスキーレンズ(HuskyLens)」を組み合わせたロボットの作り方を紹介したいと思います。ハスキーレンズとはDFROBOT(Zhiwei Robotics Corp.)というメーカーが開発した特殊なカメラ(AIカメラ)です。このカメラを使って、物体追跡、物体認識、ライン追跡などの機能を備えたロボットを作ってみましょう。この連載では最終的にハスキーレンズをSPIKEプライムのラージハブに接続して動かしたいと思います。
ハスキーレンズの基本的な情報については、メーカーのWikiページを読むことをオススメします。ページのURLは以下のとおりです。
https://wiki.dfrobot.com/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336(文/松原拓也)
◆ ライントレースロボットを作る
ハスキーレンズはラインを2つの座標(HeadとTail)として捕らえます。この座標から角度を求めます。角度を算出するにはatan2関数を使います。atan2はアークタンジェントを求める関数です。関数の書式は「atan2(Y軸の移動量,X軸の移動量)」です。アークタンジェントは大学あたりで登場する知識なので、ちょっと難しいかもしれません。atan2関数の戻り値はラジアンという単位です。ラジアンは扱いにくいのでdegree関数を使って、度数に変換します。
ここで求めた角度は右方向を「0度」として考えています。ロボットのプログラムを作る時は上方向を0度としたほうが使いやすいので、角度を90度足すことにします。
◆ ライン検出のプログラム
プログラムを実行すると、このとおり。 ロボットがコースを周回できるようになりました。成功です。
ロボットの走りが若干ガクガクしているのが気になるのですが、ハスキーレンズとの通信に時間がかかってしまうのが原因のようです。プログラムを改良すれば、もっと上手に走らせることができるかもしれません。
今回作成したプログラム(SPIKEアプリ用)
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。